{"version":3,"sources":["../node_modules/devextreme/esm/core/renderer_base.js","../node_modules/devextreme/esm/core/renderer.js","../node_modules/devextreme/esm/core/utils/type.js","../node_modules/devextreme/esm/events/core/hook_touch_props.js","../node_modules/devextreme/esm/events/core/events_engine.js","../node_modules/devextreme/esm/core/utils/extend.js","../node_modules/devextreme/esm/core/utils/common.js","../node_modules/devextreme/esm/events/utils/add_namespace.js","../node_modules/devextreme/esm/events/utils/index.js","../node_modules/react/jsx-runtime.js","../node_modules/devextreme/esm/core/utils/iterator.js","../node_modules/devextreme/esm/core/utils/deferred.js","../node_modules/devextreme/esm/core/dom_adapter.js","../node_modules/devextreme/esm/core/utils/window.js","../node_modules/react/index.js","../node_modules/devextreme/esm/core/utils/storage.js","../node_modules/devextreme/esm/core/devices.js","../node_modules/devextreme/esm/core/utils/array.js","../node_modules/devextreme/esm/localization/message.js","../node_modules/devextreme/esm/localization/default_messages.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/devextreme/esm/core/component_registrator_callbacks.js","../node_modules/devextreme/esm/core/component_registrator.js","../node_modules/devextreme/esm/core/class.js","../node_modules/devextreme/esm/animation/translator.js","../node_modules/prop-types/index.js","../node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","../node_modules/devextreme/esm/localization/intl/date.js","../node_modules/devextreme/esm/localization/date.js","../node_modules/devextreme/esm/core/utils/browser.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/devextreme/esm/core/errors.js","../node_modules/devextreme/esm/core/utils/callbacks.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/devextreme/esm/core/element.js","../node_modules/devextreme/esm/events/pointer/base.js","../node_modules/devextreme/esm/events/pointer/touch.js","../node_modules/devextreme/esm/events/pointer/mspointer.js","../node_modules/devextreme/esm/events/pointer/observer.js","../node_modules/devextreme/esm/events/pointer/mouse.js","../node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","../node_modules/devextreme/esm/events/pointer.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/devextreme/esm/core/utils/data.js","../node_modules/devextreme/esm/core/utils/dom.js","../node_modules/devextreme/esm/core/element_data.js","../node_modules/devextreme/esm/core/utils/math.js","../node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","../node_modules/devextreme/esm/localization/intl/number.js","../node_modules/devextreme/esm/localization/open_xml_currency_format.js","../node_modules/devextreme/esm/localization/number.js","../node_modules/devextreme/esm/core/config.js","../node_modules/devextreme/esm/animation/easing.js","../node_modules/devextreme/esm/animation/fx.js","../node_modules/devextreme/esm/ui/themes.js","../node_modules/devextreme/esm/ui/themes_callback.js","../node_modules/immutable/dist/immutable.js","../node_modules/devextreme/esm/data/utils.js","../node_modules/devextreme/esm/ui/widget/ui.errors.js","../node_modules/fbjs/lib/invariant.js","../node_modules/devextreme/esm/core/utils/position.js","../node_modules/devextreme/esm/ui/button.js","../node_modules/devextreme/esm/data/errors.js","../node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","../node_modules/devextreme/esm/events/click.js","../node_modules/devextreme/esm/core/utils/support.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/draft-js/lib/EditorState.js","../node_modules/devextreme/esm/events/core/keyboard_processor.js","../node_modules/devextreme/esm/events/short.js","../node_modules/devextreme/esm/core/utils/ready_callbacks.js","../node_modules/devextreme/esm/ui/widget/ui.widget.js","../node_modules/devextreme/esm/core/utils/dependency_injector.js","../node_modules/devextreme/esm/core/guid.js","../node_modules/devextreme/esm/ui/widget/selectors.js","../node_modules/devextreme/esm/animation/frame.js","../node_modules/devextreme/esm/animation/position.js","../node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","../node_modules/devextreme/esm/localization/parentLocale.js","../node_modules/devextreme/esm/localization/core.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/devextreme/esm/core/utils/view_port.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/devextreme/esm/ui/validation_engine.js","../node_modules/devextreme/esm/events/core/event_registrator.js","../node_modules/devextreme/esm/core/utils/style.js","../node_modules/devextreme/esm/core/utils/size.js","../node_modules/devextreme/esm/ui/validation_message.js","../node_modules/devextreme/esm/ui/editor/editor.js","../node_modules/devextreme/esm/core/utils/call_once.js","../node_modules/devextreme/esm/core/utils/inflector.js","../node_modules/devextreme/esm/core/action.js","../node_modules/devextreme/esm/events/visibility_change.js","../node_modules/devextreme/esm/data/array_utils.js","../node_modules/devextreme/esm/data/data_source/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/draft-js/lib/DraftModifier.js","../node_modules/fbjs/lib/nullthrows.js","../node_modules/fbjs/lib/UserAgent.js","../node_modules/devextreme/esm/events/drag.js","../node_modules/axios/lib/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/devextreme/esm/core/templates/template_base.js","../node_modules/devextreme/esm/data/query_adapters.js","../node_modules/devextreme/esm/data/remote_query.js","../node_modules/devextreme/esm/data/query_implementation.js","../node_modules/devextreme/esm/data/query.js","../node_modules/devextreme/esm/core/utils/string.js","../node_modules/draft-js/lib/CharacterMetadata.js","../node_modules/draft-js/lib/ContentBlockNode.js","../node_modules/devextreme/esm/events/core/emitter_registrator.js","../node_modules/devextreme/esm/ui/load_indicator.js","../node_modules/devextreme/esm/core/template_manager.js","../node_modules/devextreme/esm/core/dom_component.js","../node_modules/devextreme/esm/core/utils/public_component.js","../node_modules/devextreme/esm/core/templates/empty_template.js","../node_modules/devextreme/esm/core/polyfills/promise.js","../node_modules/devextreme/esm/core/templates/template_engine_registry.js","../node_modules/devextreme/esm/core/templates/template_engines.js","../node_modules/devextreme/esm/core/templates/template.js","../node_modules/devextreme/esm/core/utils/template_manager.js","../node_modules/object-assign/index.js","../node_modules/devextreme-react/core/component.js","../node_modules/draft-js/lib/generateRandomKey.js","../node_modules/devextreme/esm/core/events_strategy.js","../node_modules/devextreme/esm/ui/widget/utils.ink_ripple.js","../node_modules/devextreme/esm/events/contextmenu.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.base.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.deferred.js","../node_modules/devextreme/esm/core/utils/selection_filter.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.standard.js","../node_modules/devextreme/esm/ui/selection/selection.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.js","../node_modules/devextreme/esm/mobile/hide_callback.js","../node_modules/devextreme/esm/ui/resizable.js","../node_modules/devextreme/esm/ui/widget/swatch_container.js","../node_modules/devextreme/esm/ui/overlay/z_index.js","../node_modules/devextreme/esm/ui/overlay/ui.overlay.js","../node_modules/devextreme/esm/core/utils/object.js","../node_modules/devextreme/esm/core/utils/version.js","../node_modules/devextreme/esm/core/templates/function_template.js","../node_modules/devextreme/esm/core/utils/variable_wrapper.js","../node_modules/devextreme/esm/events/swipe.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/draft-js/lib/DraftOffsetKey.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.async.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.base.js","../node_modules/devextreme/esm/ui/toolbar/constants.js","../node_modules/devextreme/esm/ui/popup.js","../node_modules/devextreme/esm/core/utils/queue.js","../node_modules/devextreme/esm/data/data_source/operation_manager.js","../node_modules/devextreme/esm/data/data_source/data_source.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/devextreme/esm/ui/scroll_view/ui.events.emitter.gesture.scroll.js","../node_modules/webpack/buildin/global.js","../node_modules/draft-js/lib/gkx.js","../node_modules/devextreme/esm/events/core/emitter.js","../node_modules/devextreme/esm/data/array_query.js","../node_modules/devextreme/esm/core/templates/bindable_template.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/button.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@fortawesome/free-solid-svg-icons/index.es.js","../node_modules/devextreme-react/validator.js","../node_modules/devextreme-react/core/nested-option.js","../node_modules/draft-js/lib/ContentBlock.js","../node_modules/fbjs/lib/cx.js","../node_modules/draft-js/lib/isElement.js","../node_modules/fbjs/lib/UnicodeUtils.js","../node_modules/react-dom/index.js","../node_modules/devextreme/esm/events/core/emitter.feedback.js","../node_modules/devextreme/esm/ui/text_box/text_box.js","../node_modules/devextreme/esm/ui/text_box.js","../node_modules/devextreme/esm/core/remove_event.js","../node_modules/devextreme/esm/data/abstract_store.js","../node_modules/devextreme/esm/data/store_helper.js","../node_modules/devextreme/esm/events/hold.js","../node_modules/devextreme/esm/localization/default_date_names.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/index.js","../node_modules/devextreme/esm/core/polyfills/weak_map.js","../node_modules/devextreme/esm/core/memorized_callbacks.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.js","../node_modules/devextreme/esm/ui/collection/item.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.native.js","../node_modules/devextreme/esm/localization/ldml/date.parser.js","../node_modules/devextreme/esm/core/utils/error.js","../node_modules/devextreme/esm/core/version.js","../node_modules/devextreme/esm/core/utils/html_parser.js","../node_modules/devextreme/esm/data/custom_store.js","../node_modules/devextreme/esm/ui/drop_down_editor/utils.js","../node_modules/devextreme/esm/ui/toast.js","../node_modules/devextreme/esm/ui/notify.js","../node_modules/devextreme-react/core/configuration/utils.js","../node_modules/draft-js/lib/BlockMapBuilder.js","../node_modules/draft-js/lib/findRangesImmutable.js","../node_modules/draft-js/lib/isHTMLElement.js","../node_modules/draft-js/lib/removeTextWithStrategy.js","../node_modules/domelementtype/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","../node_modules/devextreme/esm/core/utils/resize_callbacks.js","../node_modules/devextreme/esm/core/utils/icon.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.simulated.js","../node_modules/devextreme-react/text-box.js","../node_modules/devextreme-react/button.js","../node_modules/devextreme/esm/core/options/utils.js","../node_modules/devextreme/esm/core/options/option_manager.js","../node_modules/devextreme/esm/core/utils/comparator.js","../node_modules/devextreme/esm/core/options/index.js","../node_modules/devextreme/esm/core/postponed_operations.js","../node_modules/devextreme/esm/core/component.js","../node_modules/devextreme/esm/core/http_request.js","../node_modules/devextreme/esm/core/utils/ajax.js","../node_modules/@fortawesome/fontawesome-svg-core/index.es.js","../node_modules/draft-js/lib/getContentStateFragment.js","../node_modules/draft-js/lib/DraftEntity.js","../node_modules/draft-js/lib/SelectionState.js","../node_modules/fbjs/lib/UnicodeBidiDirection.js","../node_modules/draft-js/lib/findAncestorOffsetKey.js","../node_modules/draft-js/lib/getCorrectDocumentFromNode.js","../node_modules/fbjs/lib/Keys.js","../node_modules/fbjs/lib/Style.js","../node_modules/fbjs/lib/getScrollPosition.js","../node_modules/draft-js/lib/isEventHandled.js","../node_modules/inherits/inherits_browser.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/devextreme/esm/ui/dialog.js","../node_modules/devextreme/esm/core/utils/console.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/devextreme/esm/localization/ldml/number.js","../node_modules/devextreme/esm/localization/utils.js","../node_modules/devextreme/esm/core/templates/child_default_template.js","../node_modules/devextreme/esm/events/core/wheel.js","../node_modules/devextreme/esm/events/hover.js","../node_modules/devextreme/esm/data_helper.js","../node_modules/devextreme/esm/data/array_store.js","../node_modules/devextreme/esm/core/utils/array_compare.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollbar.js","../node_modules/devextreme/esm/ui/scroll_view/animator.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.device.js","../node_modules/devextreme/esm/ui/shared/grouped_data_converter_mixin.js","../node_modules/devextreme/esm/ui/check_box.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/draft-js/lib/Draft.js","../node_modules/devextreme/esm/localization/ldml/date.formatter.js","../node_modules/devextreme/esm/localization/ldml/date.format.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.strategy.grouped.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_registry.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.static.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_menu_helper.js","../node_modules/devextreme/esm/ui/popover.js","../node_modules/devextreme/esm/ui/action_sheet.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.slide.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.swipe.js","../node_modules/devextreme/esm/ui/list/item.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.pull_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.js","../node_modules/devextreme/esm/ui/list/ui.list.base.js","../node_modules/devextreme/esm/ui/scroll_view.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.live_update.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.context.js","../node_modules/devextreme/esm/ui/radio_group/radio_button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.selection.js","../node_modules/devextreme/esm/ui/draggable.js","../node_modules/devextreme/esm/ui/sortable.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.reorder.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.provider.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.js","../node_modules/devextreme/esm/ui/widget/ui.search_box_mixin.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.search.js","../node_modules/devextreme/esm/ui/list.js","../node_modules/devextreme/esm/ui/text_box/utils.caret.js","../node_modules/devextreme/esm/ui/text_box/utils.support.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.rule.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.clear.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/custom.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/index.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.default.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.plain.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_button.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_editor.js","../node_modules/devextreme-react/core/component-base.js","../node_modules/draft-js/lib/ContentState.js","../node_modules/fbjs/lib/UnicodeBidi.js","../node_modules/draft-js/lib/DefaultDraftBlockRenderMap.js","../node_modules/draft-js/lib/getEntityKeyForSelection.js","../node_modules/fbjs/lib/containsNode.js","../node_modules/fbjs/lib/Scroll.js","../node_modules/draft-js/lib/moveSelectionBackward.js","../node_modules/fbjs/lib/warning.js","../node_modules/draft-js/lib/KeyBindingUtil.js","../node_modules/react-html-parser/lib/processNodes.js","../node_modules/devextreme/esm/localization/currency.js","../node_modules/devextreme-react/select-box.js","../node_modules/devextreme/esm/ui/load_panel.js","../node_modules/axios/index.js","../node_modules/devextreme-react/check-box.js","../node_modules/devextreme/esm/ui/editor/ui.data_expression.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_list.js","../node_modules/devextreme/esm/ui/select_box.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/devextreme/esm/localization.js","../node_modules/setimmediate/setImmediate.js","../node_modules/process/browser.js","../node_modules/devextreme/esm/events/index.js","../node_modules/devextreme-react/core/configuration/tree.js","../node_modules/devextreme-react/core/helpers.js","../node_modules/devextreme-react/core/widget-config.js","../node_modules/devextreme-react/core/configuration/react/element.js","../node_modules/devextreme-react/core/extension-component.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/react-is/index.js","../node_modules/draft-js/lib/randomizeBlockMapKeys.js","../node_modules/draft-js/lib/removeEntitiesAtEdges.js","../node_modules/draft-js/lib/insertIntoList.js","../node_modules/draft-js/lib/modifyBlockForContentState.js","../node_modules/draft-js/lib/getNextDelimiterBlockKey.js","../node_modules/draft-js/lib/getOwnObjectValues.js","../node_modules/draft-js/lib/DraftEntityInstance.js","../node_modules/draft-js/lib/sanitizeDraftText.js","../node_modules/draft-js/lib/DefaultDraftInlineStyle.js","../node_modules/draft-js/lib/getSelectionOffsetKeyForNode.js","../node_modules/draft-js/lib/getWindowForNode.js","../node_modules/draft-js/lib/editOnSelect.js","../node_modules/draft-js/lib/DraftJsDebugLogging.js","../node_modules/draft-js/lib/getContentEditableContainer.js","../node_modules/draft-js/lib/getDraftEditorSelection.js","../node_modules/draft-js/lib/getDraftEditorSelectionWithNodes.js","../node_modules/draft-js/lib/getUpdatedSelectionState.js","../node_modules/draft-js/lib/draftKeyUtils.js","../node_modules/draft-js/lib/DraftEditorLeaf.react.js","../node_modules/draft-js/lib/isHTMLBRElement.js","../node_modules/draft-js/lib/DraftEffects.js","../node_modules/fbjs/lib/getActiveElement.js","../node_modules/fbjs/lib/getElementPosition.js","../node_modules/fbjs/lib/getViewportDimensions.js","../node_modules/draft-js/lib/DraftEditorBlock.react.js","../node_modules/fbjs/lib/DataTransfer.js","../node_modules/fbjs/lib/emptyFunction.js","../node_modules/draft-js/lib/getTextContentFromFiles.js","../node_modules/draft-js/lib/getFragmentFromSelection.js","../node_modules/draft-js/lib/keyCommandPlainBackspace.js","../node_modules/draft-js/lib/getRangeClientRects.js","../node_modules/draft-js/lib/DraftRemovableWord.js","../node_modules/draft-js/lib/moveSelectionForward.js","../node_modules/draft-js/lib/convertFromHTMLToContentBlocks.js","../node_modules/draft-js/lib/getSafeBodyFromHTML.js","../node_modules/draft-js/lib/RichTextEditorUtil.js","../node_modules/draft-js/lib/getDefaultKeyBinding.js","../node_modules/draft-js/lib/DraftStringKey.js","../node_modules/react-html-parser/lib/convertNodeToElement.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/Parser.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/Tokenizer.js","../node_modules/react-html-parser/node_modules/domhandler/index.js","../node_modules/react-html-parser/node_modules/domhandler/lib/node.js","../node_modules/domutils/index.js","../node_modules/entities/lib/decode.js","../node_modules/entities/lib/encode.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/WritableStream.js","../node_modules/buffer/index.js","../node_modules/react-html-parser/lib/utils/generatePropsFromAttributes.js","../node_modules/react-html-parser/lib/utils/isValidTagOrAttributeName.js","../node_modules/react-animate-height/lib/AnimateHeight.js","../node_modules/react-cookie-consent/build/index.js","../node_modules/devextreme-react/load-panel.js","../node_modules/devextreme-react/file-uploader.js","../node_modules/devextreme/esm/data/data_source.js","../node_modules/devextreme-react/popup.js","../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.js","../node_modules/draftjs-to-html/lib/draftjs-to-html.js","../node_modules/react-html-parser/lib/index.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha.js","../node_modules/react-async-script/lib/esm/async-script-loader.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","../node_modules/react-google-recaptcha/lib/esm/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/classnames/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/timers-browserify/main.js","../node_modules/devextreme-react/core/options-manager.js","../node_modules/devextreme-react/core/configuration/comparer.js","../node_modules/devextreme-react/core/templates-manager.js","../node_modules/devextreme-react/core/config.js","../node_modules/devextreme-react/core/dx-template.js","../node_modules/devextreme-react/core/template-wrapper.js","../node_modules/devextreme-react/core/templates-renderer.js","../node_modules/devextreme-react/core/templates-store.js","../node_modules/devextreme-react/core/configuration/react/tree.js","../node_modules/devextreme-react/core/template.js","../node_modules/devextreme-react/core/configuration/react/templates.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/draft-js/lib/AtomicBlockUtils.js","../node_modules/draft-js/lib/ContentStateInlineStyle.js","../node_modules/draft-js/lib/applyEntityToContentState.js","../node_modules/draft-js/lib/applyEntityToContentBlock.js","../node_modules/draft-js/lib/getCharacterRemovalRange.js","../node_modules/draft-js/lib/DraftEntitySegments.js","../node_modules/draft-js/lib/getRangesForDraftEntity.js","../node_modules/draft-js/lib/insertFragmentIntoContentState.js","../node_modules/draft-js/lib/insertTextIntoContentState.js","../node_modules/draft-js/lib/removeRangeFromContentState.js","../node_modules/draft-js/lib/splitBlockInContentState.js","../node_modules/draft-js/lib/BlockTree.js","../node_modules/draft-js/lib/uuid.js","../node_modules/draft-js/lib/EditorBidiService.js","../node_modules/fbjs/lib/UnicodeBidiService.js","../node_modules/draft-js/lib/moveBlockInContentState.js","../node_modules/draft-js/lib/CompositeDraftDecorator.js","../node_modules/draft-js/lib/DraftEditor.react.js","../node_modules/draft-js/lib/DraftEditorCompositionHandler.js","../node_modules/draft-js/lib/DOMObserver.js","../node_modules/fbjs/lib/UserAgentData.js","../node_modules/ua-parser-js/src/ua-parser.js","../node_modules/webpack/buildin/amd-options.js","../node_modules/fbjs/lib/VersionRange.js","../node_modules/fbjs/lib/mapObject.js","../node_modules/fbjs/lib/memoizeStringOnly.js","../node_modules/draft-js/lib/DraftEditorContents.react.js","../node_modules/draft-js/lib/DraftEditorContentsExperimental.react.js","../node_modules/draft-js/lib/DraftEditorBlockNode.react.js","../node_modules/draft-js/lib/DraftEditorNode.react.js","../node_modules/draft-js/lib/DraftEditorDecoratedLeaves.react.js","../node_modules/draft-js/lib/DraftEditorTextNode.react.js","../node_modules/draft-js/lib/setDraftEditorSelection.js","../node_modules/fbjs/lib/isTextNode.js","../node_modules/fbjs/lib/isNode.js","../node_modules/fbjs/lib/getStyleProperty.js","../node_modules/fbjs/lib/camelize.js","../node_modules/fbjs/lib/hyphenate.js","../node_modules/fbjs/lib/getElementRect.js","../node_modules/fbjs/lib/getDocumentScrollElement.js","../node_modules/fbjs/lib/getUnboundedScrollPosition.js","../node_modules/draft-js/lib/DraftEditorContents-core.react.js","../node_modules/fbjs/lib/joinClasses.js","../node_modules/draft-js/lib/DraftEditorDragHandler.js","../node_modules/fbjs/lib/PhotosMimeType.js","../node_modules/fbjs/lib/createArrayFromMixed.js","../node_modules/draft-js/lib/DraftEditorEditHandler.js","../node_modules/draft-js/lib/editOnBeforeInput.js","../node_modules/draft-js/lib/isSelectionAtLeafStart.js","../node_modules/fbjs/lib/setImmediate.js","../node_modules/draft-js/lib/editOnBlur.js","../node_modules/draft-js/lib/editOnCompositionStart.js","../node_modules/draft-js/lib/editOnCopy.js","../node_modules/draft-js/lib/editOnCut.js","../node_modules/draft-js/lib/isInstanceOfNode.js","../node_modules/draft-js/lib/editOnDragOver.js","../node_modules/draft-js/lib/editOnDragStart.js","../node_modules/draft-js/lib/editOnFocus.js","../node_modules/draft-js/lib/editOnInput.js","../node_modules/draft-js/lib/editOnKeyDown.js","../node_modules/draft-js/lib/isSoftNewlineEvent.js","../node_modules/draft-js/lib/SecondaryClipboard.js","../node_modules/draft-js/lib/keyCommandBackspaceToStartOfLine.js","../node_modules/draft-js/lib/expandRangeToStartOfLine.js","../node_modules/draft-js/lib/keyCommandBackspaceWord.js","../node_modules/fbjs/lib/TokenizeUtil.js","../node_modules/draft-js/lib/keyCommandDeleteWord.js","../node_modules/draft-js/lib/keyCommandInsertNewline.js","../node_modules/draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js","../node_modules/draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js","../node_modules/draft-js/lib/keyCommandPlainDelete.js","../node_modules/draft-js/lib/keyCommandTransposeCharacters.js","../node_modules/draft-js/lib/keyCommandUndo.js","../node_modules/draft-js/lib/editOnPaste.js","../node_modules/draft-js/lib/DraftPasteProcessor.js","../node_modules/fbjs/lib/URI.js","../node_modules/draft-js/lib/isHTMLAnchorElement.js","../node_modules/draft-js/lib/isHTMLImageElement.js","../node_modules/draft-js/lib/adjustBlockDepthForContentState.js","../node_modules/draft-js/lib/splitTextIntoTextBlocks.js","../node_modules/draft-js/lib/DraftEditorFlushControlled.js","../node_modules/draft-js/lib/DraftEditorPlaceholder.react.js","../node_modules/draft-js/lib/convertFromDraftStateToRaw.js","../node_modules/draft-js/lib/encodeEntityRanges.js","../node_modules/draft-js/lib/encodeInlineStyleRanges.js","../node_modules/draft-js/lib/convertFromRawToDraftState.js","../node_modules/draft-js/lib/DraftTreeAdapter.js","../node_modules/draft-js/lib/DraftTreeInvariants.js","../node_modules/draft-js/lib/createCharacterList.js","../node_modules/draft-js/lib/decodeEntityRanges.js","../node_modules/draft-js/lib/decodeInlineStyleRanges.js","../node_modules/draft-js/lib/getVisibleSelectionRect.js","../node_modules/draft-js/lib/getRangeBoundingClientRect.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/devextreme-react/date-box.js","../node_modules/devextreme-react/text-area.js","../node_modules/devextreme-react/validation-summary.js","../node_modules/devextreme/esm/ui/validation_summary.js","../node_modules/react-html-parser/lib/utils/isEmptyTextNode.js","../node_modules/react-html-parser/lib/elementTypes/index.js","../node_modules/react-html-parser/node_modules/entities/lib/decode_codepoint.js","../node_modules/events/events.js","../node_modules/react-html-parser/node_modules/domhandler/lib/element.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/FeedHandler.js","../node_modules/domutils/lib/stringify.js","../node_modules/dom-serializer/index.js","../node_modules/dom-serializer/node_modules/domelementtype/lib/index.js","../node_modules/entities/lib/index.js","../node_modules/entities/lib/decode_codepoint.js","../node_modules/domutils/lib/traversal.js","../node_modules/domutils/lib/manipulation.js","../node_modules/domutils/lib/querying.js","../node_modules/domutils/lib/legacy.js","../node_modules/domutils/lib/helpers.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/Stream.js","../node_modules/string_decoder/lib/string_decoder.js","../node_modules/safe-buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/ProxyHandler.js","../node_modules/react-html-parser/node_modules/htmlparser2/lib/CollectingHandler.js","../node_modules/react-html-parser/lib/elementTypes/TextElementType.js","../node_modules/react-html-parser/lib/elementTypes/TagElementType.js","../node_modules/react-html-parser/lib/utils/htmlAttributesToReact.js","../node_modules/react-html-parser/lib/dom/attributes/BooleanAttributes.js","../node_modules/react-html-parser/lib/dom/attributes/ReactAttributes.js","../node_modules/react-html-parser/lib/utils/inlineStyleToObject.js","../node_modules/react-html-parser/lib/dom/elements/VoidElements.js","../node_modules/react-html-parser/lib/elementTypes/StyleElementType.js","../node_modules/react-html-parser/lib/elementTypes/UnsupportedElementType.js","../node_modules/react-html-parser/lib/HtmlParser.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.parts.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/devextreme/esm/core/utils/date.js","../node_modules/devextreme/esm/core/utils/date_serialization.js","../node_modules/devextreme/esm/ui/date_box/ui.date_utils.js","../node_modules/devextreme/esm/events/gesture/swipeable.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.navigator.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.base_view.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.views.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.js","../node_modules/devextreme/esm/ui/calendar.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view_roller.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.native.js","../node_modules/devextreme/esm/ui/number_box/utils.js","../node_modules/devextreme/esm/ui/number_box/number_box.caret.js","../node_modules/devextreme/esm/ui/number_box/number_box.spin.js","../node_modules/devextreme/esm/ui/number_box/number_box.spins.js","../node_modules/devextreme/esm/ui/number_box/number_box.base.js","../node_modules/devextreme/esm/ui/number_box/number_box.mask.js","../node_modules/devextreme/esm/ui/number_box/number_box.js","../node_modules/devextreme/esm/ui/number_box.js","../node_modules/devextreme/esm/ui/box.js","../node_modules/devextreme/esm/ui/date_box/ui.time_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.list.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.base.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.js","../node_modules/devextreme/esm/ui/date_box.js","../node_modules/devextreme/esm/ui/track_bar.js","../node_modules/devextreme/esm/ui/progress_bar.js","../node_modules/devextreme/esm/ui/file_uploader.js","../node_modules/devextreme/esm/ui/validation/default_adapter.js","../node_modules/devextreme/esm/ui/validator.js","../node_modules/devextreme/esm/ui/text_box/utils.scroll.js","../node_modules/devextreme/esm/ui/text_area.js","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js"],"names":["renderer","window","getWindow","initRender","selector","context","this","body","domAdapter","getBody","length","getDocument","createElement","slice","push","apply","querySelectorAll","isNode","isWindow","Array","isArray","toArray","fn","dxRenderer","prototype","repeatMethod","methodName","args","i","item","setAttributeValue","element","attrName","value","setAttribute","removeAttribute","show","toggle","hide","toggleClass","attr","arguments","call","isObject","getAttribute","prop","result","isPlainObject","key","removeAttr","propName","setProperty","addClass","className","removeClass","hasClass","classNames","split","classList","contains","isString","indexOf","setClass","forEach","partialName","toLowerCase","isOuter","isInner","getDocumentElement","isDocument","documentElement","Math","max","include","paddings","borders","margins","getSize","isNumeric","elementStyles","getComputedStyle","sizeAdjustment","getElementBoxParams","isBorderBox","boxSizing","Number","border","padding","setStyle","html","empty","isTablePart","innerHTML","append","parseHTML","appendElements","nextSibling","nodeType","createTextNode","container","tagName","tBodies","insertElement","setCss","name","style","isNaN","styleProp","normalizeStyleProp","css","toString","prepend","firstChild","prependTo","appendTo","insertBefore","parentNode","insertAfter","before","after","wrap","wrapper","wrapInner","contents","replaceWith","is","remove","cleanDataRecursive","removeElement","detach","setText","clone","cloneNode","text","textContent","isFunction","isDefined","val","childNodes","find","nodes","trim","isElementNode","elementId","queryId","querySelector","replace","add","isVisible","_","offsetWidth","offsetHeight","getClientRects","filter","type","elementMatches","j","not","children","siblings","parentChildNodes","node","each","callback","index","parent","get","eq","first","last","parents","closest","next","prev","previousSibling","targets","target","emptyArray","splice","getWindowByElement","defaultView","offset","top","left","rect","getBoundingClientRect","win","ownerDocument","docElem","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","position","marginTop","parseFloat","marginLeft","parentOffset","nodeName","offsetProp","scrollWindow","scrollTo","directionStrategy","data","elementData","removeData","rendererWrapper","Object","defineProperty","enumerable","configurable","set","rendererBase","types","object","typeOfObject","isBoolean","isExponential","isDate","isFinite","isEmptyObject","property","proto","getPrototypeOf","ctor","hasOwnProperty","constructor","isPrimitive","isRenderer","jquery","isPromise","then","isDeferred","done","fail","isEvent","preventDefault","touchPropsToHook","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","skipEvent","elementDataMap","WeakMap","guid","special","specialData","registerEventCallbacks","eventName","eventObject","getField","field","callMethod","eventsEngine","injector","on","getHandler","normalizeOnArguments","iterate","handler","getHandlersController","addHandler","one","oneTimeHandler","off","removeHandler","trigger","normalizeTriggerArguments","event","extraParameters","handlersController","callHandlers","isPropagationStopped","getParents","extend","currentTarget","nativeMethodName","localName","callNativeMethod","triggerHandler","applyForEach","method","errors","Error","itemArgs","itemElement","passiveEventHandlersSupported","callOnce","isSupported","options","addEventListener","e","document","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","eventData","callHandler","secondaryTargetIsInside","handlerArgs","relatedTarget","stopPropagation","handleObject","wrappedHandler","delegateTarget","namespace","join","nativeListenerOptions","subscribeName","shouldAddNativeListener","Event","passive","removeListener","listen","removeByEventName","removedHandler","skip","isSubset","keys","delete","forceStop","handleCallback","isImmediatePropagationStopped","original","checked","src","originalEvent","iterateEventNames","calculateWhich","which","charCode","keyCode","button","test","initEvent","EventClass","addProperty","hook","eventInstance","writable","config","normalizeEventArguments","that","propagationStopped","immediatePropagationStopped","defaultPrevented","hasWindow","stopImmediatePropagation","isDefaultPrevented","pageX","pageY","touches","changedTouches","touchPropHook","hookTouchProps","beforeSetStrategy","Callbacks","afterSetStrategy","engine","fire","inject","subscribeGlobal","offArgs","extendFromObject","source","overrideExistingValues","deep","targetValue","sourceValue","sourceValueIsArray","executingName","ensureDefined","defaultValue","executeAsync","action","deferred","Deferred","normalizedContext","task","promise","abort","clearTimeout","timerId","rejectWith","resolveWith","setTimeout","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","func","oldExecutingName","currentDelayedCount","when","resolve","reject","shift","deferRender","deferUpdate","deferRenderer","deferUpdater","findBestMatches","targetFilter","items","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","match","mismatch","valueItem","splitPair","raw","_raw$x","_raw$y","x","h","y","v","normalizeKey","id","arr","sign","charCodeAt","denormalizeKey","char","parseInt","String","fromCharCode","pairToObject","preventRound","pair","getKeyHash","Guid","keyHash","JSON","stringify","escapeRegExp","string","applyServerDecimalSeparator","separator","serverDecimalSeparator","noop","asyncNoop","grep","elements","checkFunction","invert","expectedCheck","arraysEqualByValue","array1","array2","depth","equalByValue","objectsEqualByValue","object1","object2","strict","propertyName","_propertyName","toComparable","comparisonResult","addNamespace","eventNames","map","concat","KEY_MAP","backspace","tab","enter","escape","pageup","pagedown","end","home","arrowleft","arrowup","arrowright","arrowdown","f","a","alt","control","up","right","down","multiply","spacebar","del","subtract","esc","LEGACY_KEY_CODES","EVENT_SOURCES_REGEX","dx","mouse","touch","keyboard","pointer","fixMethod","isDxEvent","eventSource","isNativeTouchEvent","_ref","isPointerEvent","isMouseEvent","isNativeMouseEvent","pointerType","isDxMouseWheelEvent","isTouchEvent","_ref3","time","timeStamp","eventDelta","from","to","hasTouches","pointers","skipEvents","needSkipEvent","$target","$","isContentEditable","hasAttribute","touchInEditable","focused","createEvent","copyEvent","fireEvent","props","normalizeKeyName","_ref4","isKeySupported","getChar","_ref5","mappedAddNamespace","isCommandKeyPressed","_ref6","ctrlKey","metaKey","module","exports","require","values","deferredConfig","state","_DeferredObj","_state","_promise","bind","callbacks","fired","always","catch","callbackResult","fromPromise","d","whenFunc","contexts","resolvedCount","updateState","nativeDOMAdapterStrategy","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","_document","createElementNS","ns","isTextNode","removeChild","parentElement","newElement","nextSiblingElement","appendChild","isAdd","resultClassName","classNameSupported","elementClass","classIndex","getActiveElement","activeElement","createDocumentFragment","getLocation","location","getSelection","selection","getReadyState","readyState","getHead","head","hasDocumentProperty","removeEventListener","hasWindowValue","windowObject","hasProperty","getNavigator","navigator","userAgent","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","deviceType","platform","version","phone","tablet","android","ios","generic","grade","mac","uaParsers","isPhone","isTablet","isDesktop","isMac","screen","height","devices","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","_eventsStrategy","EventsStrategy","changed","readyCallbacks","_recalculateOrientation","resizeCallbacks","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","tinyHippos","device","realDevice","current","isSimulator","Config","rtlEnabled","_deviceClasses","_getCssClasses","_isSimulator","self","isRippleEmulator","deviceName","_fromConfig","ua","_fromUA","sessionStorage","SessionStorage","getItem","parse","ex","shortcuts","parser","$window","orientation","width","windowWidth","_currentWidth","_changeOrientation","eventHandler","changeCallback","viewPort","prevViewport","detachCssClasses","attachCssClasses","isEmpty","entity","wrapToArray","inArray","uniqueValues","removeDuplicates","what","merge","array","condition","groupBy","cb","reduce","_extends","baseDictionary","en","Yes","No","Cancel","Clear","Done","Loading","Select","Search","Back","OK","newMessages","messageLocalization","dependencyInjector","_dictionary","load","messages","_localizablePrefix","setup","localizablePrefix","localizeString","regex","RegExp","escapeString","str","prefix","localizationKey","defaultResult","format","humanize","localizeNode","nodeItem","nodeValue","attributes","localizedValue","getMessagesByLocales","getDictionary","onlyNew","coreLocalization","locale","getFormatter","_getFormatterBase","message","getValueByClosestLocale","localeData","getDataByLocale","unshift","stringFormat","formatter","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","MemorizedCallbacks","componentClass","isMemberInvoke","memberName","memberArgs","getInstance","memberValue","option","registerComponent","publicComponentName","wrapOverridden","baseProto","prevCallBase","callBase","redefine","members","overridden","member","argument","classObj","hasClassObjOwnProperty","isES6Class","_includedCtors","_includedPostCtors","postCtor","subclassOf","parentClass","baseClass","abstract","copyStatic","hasOwn","destination","classImpl","inherit","inheritor","includedCtors","includedPostCtors","obj","clonePrototype","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","locate","$element","translate","getTranslate","isPercentValue","cacheTranslate","clearCache","getTranslateCss","matrix","is3D","z","move","transform","resetPosition","finishTransition","originalTransition","stylesConfig","transition","parseTranslate","translateString","agq","ak","ar","asa","ast","az","bas","be","bem","bez","bg","bm","br","bs","ca","ce","cgg","ckb","cs","cy","da","de","dje","dsb","dua","dyo","ee","el","eo","es","et","eu","ewo","fa","ff","fi","fo","fr","fur","fy","ga","gd","gl","gsw","gv","ha","hr","hsb","hu","hy","ia","ig","it","jgo","jmc","ka","kab","kde","kea","khq","kk","kkj","kl","ksb","ksf","ksh","ku","kw","ky","lag","lb","lg","ln","lrc","lt","lu","lv","mfe","mg","mgo","mi","mk","mn","ms","mua","mzn","naq","nds","nl","nmg","nnh","no","nus","nyn","os","pcm","pl","ps","rm","rn","ro","rof","ru","rw","rwk","sah","sbp","se","ses","sg","shi","si","sk","sl","smn","so","sq","sr","sv","sw","teo","tg","tk","tr","tt","twq","tzm","uk","uz","vai","vi","vun","wae","wo","xog","yav","yi","yo","zgh","SYMBOLS_TO_REMOVE_REGEX","getIntlFormatter","date","timeZoneName","year","getFullYear","recognizableAsTwentyCentury","temporaryYearValue","utcDate","Date","UTC","getMonth","getDate","getHours","getMinutes","getSeconds","setFullYear","formatDateTime","timeZone","formattersCache","localizationCoreUtils","Intl","DateTimeFormat","formatNumber","number","NumberFormat","getAlternativeNumeralsMap","numeralsMapCache","normalizeNumerals","dateString","alternativeNumeralsMap","removeLeadingZeroes","normalizeMonth","intlFormats","day","dayofweek","weekday","longdate","month","longdatelongtime","hour","minute","second","longtime","monthandday","monthandyear","shortdate","shorttime","shortyear","defaultOptions","resolvedOptions","getIntlFormat","monthNameStrategies","standalone","monthIndex","monthFormat","parts","part","getMonthNames","wide","abbreviated","narrow","getDayNames","dayIndex","short","getPeriodNames","hour12Formatter","hour12","hours","hourNumberText","timeParts","_format","intlFormat","formatType","_parseDateBySimpleFormat","formatParts","getFormatParts","dateParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","actual","expected","parsedDate","hoursShift","minutes","seconds","currentDate","formatPart","datePart","parsed","formatUsesMonthName","formatUsesDayName","getTimeSeparator","formattedDate","sort","b","hasIntl","FORMATS_TO_PATTERN_MAP","quarterandyear","shortdateshorttime","quarter","millisecond","possiblePartPatterns","milliseconds","dateLocalization","_getPatternByFormat","_expandPattern","pattern","partName","possiblePatterns","defaultDateNames","getQuarterNames","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","numberLocalization","convertDigits","getLDMLDateFormatter","ldmlFormat","getLDMLDateFormat","getLDMLDateParser","log","getTime","firstDayOfWeekIndex","localizationCore","firstDayOfWeekData","intlDateLocalization","webkitRegExp","ieRegExp","ie11RegExp","msEdge","mozillaRegExp","browserFromUA","exec","browserName","browserVersion","webkit","_getPrototypeOf","o","setPrototypeOf","__proto__","errorUtils","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","Callback","_options","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","list","stopOnFalse","step","pop","unique","has","fireWith","queue","syncStrategy","memory","receiver","Reflect","base","desc","getOwnPropertyDescriptor","strategy","getPublicElement","POINTER_EVENTS_NAMESPACE","BaseStrategy","Class","originalEvents","_eventName","_originalEvents","_handlerCount","noBubble","_isNoBubble","_handler","_getDelegateTarget","_fireEvent","browser","mozilla","_setSelector","handleObj","_selector","_getSelector","teardown","dispose","normalizeTouchEvent","pointerId","identifier","skipTouchWithSameIdentifier","pointerEvent","real","TouchStrategy","_pointerId","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","normalize","observer","addEventsListener","events","Observer","eventMap","pointerEquals","onPointerAdding","getPointerIndex","removePointer","reset","activated","activateStrategy","isPrimary","MsPointerStrategy","resetObserver","normalizeMouseEvent","MouseStrategy","activate","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","EventStrategy","support","pointerEvents","msie","getStrategy","registerEvent","cancel","leave","over","out","_inherits","subClass","superClass","create","_typeof","Symbol","iterator","_possibleConstructorReturn","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","Super","NewTarget","construct","unwrapVariable","variableWrapper","unwrap","isWrapped","assign","bracketsToDots","expr","assignPropValue","propValue","unwrapObservables","prepareOptions","compileGetter","path","functionAsIs","functionsAsIs","hasDefaultValue","pathPart","combineGetters","getters","compiledGetters","l","getter","_i","pathItem","ensurePropValueDefined","newValue","compileSetter","lastLevelIndex","currentValue","levelIndex","propertyValue","readPropValue","isPropertyFunc","deepExtendArraySafe","caseSensitive","valueOf","resetActiveElement","blur","clearSelection","removeAllRanges","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","min","extractTemplateMarkup","templateTag","$node","normalizeTemplateElement","clipboardText","clipboard","clipboardData","getData","setData","createTextElementHiddenCopy","includePaddings","fontStyle","fontVariant","fontWeight","fontSize","fontFamily","letterSpacing","paddingTop","paddingRight","paddingBottom","paddingLeft","visibility","whiteSpace","float","dataMap","strategyChanging","beforeCleanDataFunc","afterCleanDataFunc","beforeCleanData","cleanSelf","childElements","getElementsByTagName","cleanData","setDataStrategy","abs","fitIntoRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","inRange","getExponent","toExponential","adjust","interval","separatedAdjustedValue","precision","mantissa","positionOfDelimiter","getPrecision","separatedValue","absValue","isExponentValue","integerPart","floor","toPrecision","af","am","as","bn","bo","brx","ccp","ceb","chr","dav","doi","dz","ebu","fil","gu","guz","haw","he","hi","ii","ja","jv","kam","ki","kln","km","kn","ko","kok","ks","lkt","lo","luo","luy","mai","mas","mer","mgh","ml","mni","mr","mt","my","nb","nd","ne","nn","om","or","pa","pt","qu","root","sa","saq","sat","sd","seh","sn","su","ta","te","th","ti","ug","ur","xh","yue","zh","zu","detectCurrencySymbolRegex","_formatNumberCore","formatConfig","_normalizeFormatConfig","minimumIntegerDigits","useGrouping","maximumFractionDigits","round","_getPrecisionConfig","currency","dxConfig","defaultCurrency","minimumFractionDigits","_normalizeFormat","_getCurrencySymbolInfo","getCurrencyFormatter","_extractCurrencySymbolInfo","currencyValueString","symbol","delimiter","getCurrencySymbol","getOpenXmlCurrencyFormat","targetCurrency","currencySymbol","accountingFormat","encodedCurrencySymbol","encodeSymbols","openXmlCurrencyFormat","accountingFormats","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatObject","formatList","power","_calculateNumberPower","minPower","maxPower","_getNumberByPower","_formatNumber","powerPostfix","_formatNumberExponential","toFixed","powString","_addZeroes","multiplier","pow","_addGroupSeparators","thousandsSeparator","decimalSeparator","_getSeparators","getDecimalSeparator","getThousandsSeparator","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","getSign","charAt","numberConfig","formatterConfig","unlimitedIntegerDigits","cleanedText","_calcSignificantDigits","NaN","integer","fractional","calcDigitsAfterLeadingZeros","reverse","currencyLocalization","intlNumberLocalization","oDataFilterToLower","forceIsoDateParsing","wrapActionsBeforeExecute","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","icon","closeIcon","label","at","maxSpeedDialActionCount","shading","direction","optionsParser","optionsString","Function","deprecatedFields","configMethod","newConfig","deprecatedField","DevExpress","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","easing","convertTransitionTimingFuncToEasing","cssTransitionEasing","forceName","coeffs","easingName","t","c","x1","y1","x2","y2","Cx","Bx","Ax","Cy","By","Ay","bezierX","derivativeX","polynomBezier","removeEventName","removeEvent","RELATIVE_VALUE_REGEX","ANIM_DATA_KEY","ANIM_QUEUE_KEY","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","cleanupWhen","transitionAnimation","finish","_finishTransition","_cleanup","_completeAnimationCallback","duration","animate","_startAnimation","simulatedEndEventTimer","startTime","now","delay","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","transitionEndEventName","cleanup","waitForJSCompleteTimer","stop","fx","_simulatedTransitionEndDelay","transitionDelay","transitionDuration","transitionTimingFunction","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","draw","cancelAnimationFrame","animationFrameId","substr","delayTimeout","_animationStep","transformString","translateData","scaleData","rotateData","scale","_calcStepValue","requestAnimationFrame","currentDuration","calcValueRecursively","endPropValue","numericValue","FallbackToNoAnimationStrategy","isSynchronous","baseConfigValidator","animationType","validate","typeMessage","isObjectConfigValidator","positionAliases","bottom","SlideAnimationConfigurator","validateConfig","positioningConfig","of","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","toOpacity","fromOpacity","skipElementInitialStyles","opacity","animationConfigurators","custom","slide","slideIn","slideOut","fade","fadeIn","fadeOut","fromScale","toScale","_getCssTransform","isStringConfigValidator","defaultJSConfig","start","complete","defaultCssConfig","setupAnimationOnElement","configurator","startAnimationOnElement","animation","isStarted","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","createAnimation","initialConfig","defaultConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","getAnimQueueData","destroyAnimQueueData","isAnimating","shiftFromAnimationQueue","queueData","executeAnimation","positionUtils","calculate","currentPosition","scrollTop","scrollLeft","animationTypes","writeAnimQueueData","pushInAnimationQueue","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","themeReadyCallback","ready","viewPortValue","viewPortChanged","initDeferred","DX_LINK_SELECTOR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitForThemeLoad","themeName","waitStartTime","intervalCleared","handleLoaded","clearInterval","isPendingThemeLoaded","setInterval","isLoaded","isTimeout","anyThemePending","themeMarker","resolveFullThemeName","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","isActive","init","newContext","initContext","$allThemeLinks","link","fullThemeName","url","processMarkup","theme","currentThemeData","isAutoInit","_autoInit","loadCallback","_forceTimeout","originalViewPort","themeNameParts","isMaterial","getCssClasses","pixelRatio","devicePixelRatio","$tester","outerHeight","isTheme","themeRegExp","isGeneric","isWebFontLoaded","testElement","etalonFontWidth","testedFontWidth","waitWebFont","Promise","clear","intervalId","timeoutId","autoInit","prevViewPort","SLICE$0","createClass","Iterable","isIterable","Seq","KeyedIterable","isKeyed","KeyedSeq","IndexedIterable","isIndexed","IndexedSeq","SetIterable","isAssociative","SetSeq","maybeIterable","IS_ITERABLE_SENTINEL","maybeKeyed","IS_KEYED_SENTINEL","maybeIndexed","IS_INDEXED_SENTINEL","maybeAssociative","isOrdered","maybeOrdered","IS_ORDERED_SENTINEL","Keyed","Indexed","Set","DELETE","SHIFT","SIZE","MASK","NOT_SET","CHANGE_LENGTH","DID_ALTER","MakeRef","ref","SetRef","OwnerID","arrCopy","len","newArr","ensureSize","iter","undefined","size","__iterate","returnTrue","wrapIndex","uint32Index","wholeSlice","begin","resolveBegin","resolveIndex","resolveEnd","defaultIndex","ITERATE_KEYS","ITERATE_VALUES","ITERATE_ENTRIES","REAL_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","ITERATOR_SYMBOL","Iterator","iteratorValue","k","iteratorResult","iteratorDone","hasIterator","getIteratorFn","isIterator","maybeIterator","getIterator","iterable","iteratorFn","isArrayLike","emptySequence","toSeq","seqFromValue","toKeyedSeq","fromEntrySeq","keyedSeqFromValue","entrySeq","toIndexedSeq","indexedSeqFromValue","toSetSeq","KEYS","VALUES","ENTRIES","inspect","toSource","__toString","cacheResult","_cache","__iterateUncached","seqIterate","__iterator","seqIterator","isSeq","EMPTY_SEQ","EMPTY_REPEAT","EMPTY_RANGE","IS_SEQ_SENTINEL","ArraySeq","_array","ObjectSeq","_object","_keys","IterableSeq","_iterable","IteratorSeq","_iterator","_iteratorCache","maybeSeq","seq","maybeIndexedSeqFromValue","useKeys","cache","maxIndex","entry","__iteratorUncached","fromJS","json","converter","fromJSWith","fromJSDefault","parentJSON","isPlainObj","toList","toMap","valueA","valueB","equals","deepEqual","__hash","notAssociative","entries","every","flipped","allEqual","bSize","Repeat","times","_value","Infinity","invariant","error","Range","_start","_end","_step","ceil","Collection","KeyedCollection","IndexedCollection","SetCollection","notSetValue","iterations","includes","searchValue","lastIndexOf","this$0","other","possibleIndex","offsetValue","imul","smi","i32","hash","STRING_HASH_CACHE_MIN_STRLEN","cachedHashString","hashString","hashCode","hashJSObj","stringHashCache","STRING_HASH_CACHE_SIZE","STRING_HASH_CACHE_MAX_SIZE","usingWeakMap","weakMap","UID_HASH_KEY","canDefineProperty","propertyIsEnumerable","getIENodeHash","objHashUID","isExtensible","uniqueID","assertNotInfinite","Map","emptyMap","isMap","withMutations","maybeMap","IS_MAP_SENTINEL","_root","updateMap","setIn","keyPath","updateIn","deleteIn","update","updater","updatedValue","updateInDeepMap","forceIterator","__ownerID","__altered","mergeIntoMapWith","mergeWith","merger","mergeIn","iters","m","mergeDeep","deepMerger","mergeDeepWith","deepMergerWith","mergeDeepIn","comparator","OrderedMap","sortFactory","sortBy","mapper","mutable","asMutable","wasAltered","__ensureOwner","asImmutable","MapIterator","ownerID","makeMap","EMPTY_MAP","MapPrototype","ArrayMapNode","BitmapIndexedNode","bitmap","HashArrayMapNode","count","HashCollisionNode","ValueNode","_type","_reverse","_stack","mapIteratorFrame","mapIteratorValue","__prev","newRoot","newSize","didChangeSize","didAlter","updateNode","isLeafNode","mergeIntoNode","newNode","idx1","idx2","createNodes","packNodes","excluding","packedII","packedNodes","bit","expandNodes","including","expandedNodes","iterables","mergeIntoCollectionWith","existing","nextValue","collection","mergeIntoMap","keyPathIter","isNotSet","existingValue","nextExisting","nextUpdated","popCount","idx","canEdit","newArray","spliceIn","newLen","spliceOut","removeIn","removed","exists","MAX_ARRAY_MAP_SIZE","isEditable","newEntries","keyHashFrag","MAX_BITMAP_INDEXED_SIZE","newBitmap","newNodes","newCount","MIN_HASH_ARRAY_MAP_SIZE","keyMatch","stack","subNode","List","emptyList","isList","makeList","VNode","setSize","maybeList","IS_LIST_SENTINEL","listNodeFor","_origin","updateList","insert","_capacity","_level","_tail","oldSize","setListBounds","mergeIntoListWith","iterateList","DONE","ListPrototype","removeBefore","level","originIndex","newChild","removingFirst","oldChild","editable","editableVNode","removeAfter","sizeIndex","EMPTY_LIST","EMPTY_ORDERED_MAP","tailPos","getTailOffset","tail","iterateNodeOrLeaf","iterateLeaf","iterateNode","origin","capacity","newTail","updateVNode","nodeHas","lowerNode","newLowerNode","rawIndex","owner","oldOrigin","oldCapacity","newOrigin","newCapacity","newLevel","offsetShift","oldTailOffset","newTailOffset","oldTail","beginIndex","maxSize","emptyOrderedMap","isOrderedMap","maybeOrderedMap","makeOrderedMap","omap","_map","updateOrderedMap","newMap","newList","flip","ToKeyedSequence","indexed","_iter","_useKeys","ToIndexedSequence","ToSetSequence","FromEntriesSequence","flipFactory","flipSequence","makeSequence","reversedSequence","cacheResultThrough","mapFactory","mappedSequence","reverseFactory","filterFactory","predicate","filterSequence","countByFactory","grouper","groups","groupByFactory","isKeyedIter","coerce","iterableClass","reify","sliceFactory","originalSize","resolvedBegin","resolvedEnd","sliceSize","resolvedSize","sliceSeq","skipped","isSkipping","takeWhileFactory","takeSequence","iterating","skipWhileFactory","skipSequence","skipping","concatFactory","isKeyedIterable","singleton","concatSeq","flatten","sum","flattenFactory","flatSequence","stopped","flatDeep","currentDepth","flatMapFactory","interposeFactory","interposedSequence","defaultComparator","maxFactory","maxCompare","comp","zipWithFactory","keyIter","zipper","zipSequence","iterators","isDone","steps","some","s","validateEntry","resolveSize","Record","defaultValues","hasInitialized","RecordType","RecordTypePrototype","_name","_defaultValues","RecordPrototype","valueSeq","indexedIterable","recordName","defaultVal","_empty","makeRecord","likeRecord","record","names","setProp","emptySet","isSet","maybeSet","IS_SET_SENTINEL","fromKeys","keySeq","updateSet","union","intersect","originalSet","OrderedSet","__make","EMPTY_SET","SetPrototype","__empty","makeSet","emptyOrderedSet","isOrderedSet","maybeOrderedSet","EMPTY_ORDERED_SET","OrderedSetPrototype","makeOrderedSet","Stack","emptyStack","isStack","unshiftAll","maybeStack","IS_STACK_SENTINEL","_head","peek","makeStack","pushAll","EMPTY_STACK","StackPrototype","mixin","methods","keyCopier","getOwnPropertySymbols","toJS","__toJS","toJSON","toObject","toOrderedMap","toOrderedSet","toSet","toStack","__toStringMapper","returnValue","findEntry","found","findLastEntry","sideEffect","joined","isFirst","reducer","initialReduction","reduction","useFirst","reduceRight","reversed","butLast","countBy","entriesSequence","entryMapper","filterNot","findLast","flatMap","searchKey","getIn","searchKeyPath","nested","hasIn","isSuperset","keyMapper","maxBy","neg","defaultNegComparator","minBy","rest","amount","skipLast","skipWhile","skipUntil","take","takeLast","takeWhile","takeUntil","hashIterable","IterablePrototype","quoteString","chain","noLengthWarning","console","warn","findKey","findLastKey","keyOf","lastKeyOf","mapEntries","mapKeys","KeyedIterablePrototype","defaultZipper","ordered","keyed","murmurHashOfSize","hashMerge","findIndex","removeNum","numArgs","spliced","findLastIndex","interpose","interleave","zipped","interleaved","zip","zipWith","factory","XHR_ERROR_UNLOAD","errorMessageFromXhr","unloading","textStatusMessages","timeout","parsererror","xhr","textStatus","status","statusText","aggregators","seed","avg","finalize","processRequestResultLock","lockDeferred","lockCount","obtain","release","utils","normalizeBinaryCriterion","crit","normalizeSortingInfo","info","dir","compare","keysEqual","keyExpr","key1","key2","throttleChanges","throttled","lastArgs","throttle","changes","trivialPromise","rejectedPromise","isDisjunctiveOperator","isConjunctiveOperator","isUnaryOperation","isGroupCriterion","base64_encode","input","code","bytes","stringToByteArray","getBase64Char","octet1","octet2","octet3","ERROR_MESSAGES","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1015","W1016","W1017","W1018","W1019","validateFormat","_len","_key","argIndex","framesToPop","getDefaultAlignment","isRtlEnabled","getElementsFromPoint","msElementsFromPoint","elementsFromPoint","getBoundingRect","outerWidth","Button","_feedbackHideTimeout","active","inactive","$el","_eventBindingTarget","_activeStateUnit","activeEvents","Action","excludeValidators","showTimeout","_feedbackShowTimeout","hideTimeout","focusStateEnabled","useInkRipple","_clickAction","validationGroup","_validationGroupConfig","model","_modelByElement","ValidationEngine","findGroup","_templateData","hoverStateEnabled","onClick","iconPosition","activeStateEnabled","template","useSubmitBehavior","stylingMode","needValidate","validationStatus","_createAction","_ref2","_submitInput","click","_renderType","_renderStylingMode","_renderInkRipple","_renderClick","_updateAriaLabel","_updateContent","setAria","_templateManager","addDefaultTemplates","content","FunctionTemplate","$icon","getImageContainer","$textContainer","$container","_updateClick","_updateType","_updateStylingMode","_updateSubmitInput","_invalidate","dxClickEvent","NAME","_executeClickAction","isOnlyIconButton","_inkRipple","render","waveSizeCoefficient","useHoldAnimation","isCentered","changeWaveVisibility","visible","_disposed","_$content","showWave","hideWave","_attachActiveEvents","_getDefaultOptions","submitAction","_getSubmitAction","$content","clickEvent","_$submitInput","space","ariaTarget","_getAriaTarget","getImageSourceType","_createActionByOption","afterExecute","_getContentData","$template","_getTemplateByOption","transclude","anonymousTemplateName","$submitInput","_renderSubmitInput","mode","getGroupConfig","_findGroup","Widget","coreErrors","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","errorHandler","handleError","_errorHandler","REMOVE_EVENT_NAME","nodesByEvent","CLICK_EVENT_NAME","isInput","misc","ClickEmitter","Emitter","_makeElementClickable","_blurPrevented","_startTarget","_startEventData","_eventOutOfElement","getElement","_cancel","_accept","_clickAnimationFrame","_fireClickEvent","targetChanged","gestureDelta","boundsExceeded","useNativeClick","compareVersions","isNativeClickEvent","prevented","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","subscribeNodesDisposing","configure","useNative","blurPrevented","registerEmitter","emitter","bubble","maxTouchPoints","msMaxTouchPoints","pointerEnabled","transitionEndEventNames","webkitTransition","MozTransition","OTransition","msTransition","supportProp","inputType","touchEvents","hasWindowProperty","detectTouchEvents","isPointerEnabled","canUsePointerEvent","detectPointerEvent","nativeScrolling","isNativeScrollingSupported","_slicedToArray","_arr","_n","_d","_e","_s","err","unsupportedIterableToArray","_objectSpread","ownKeys","sym","_defineProperty","BlockTree","ContentState","EditorBidiService","SelectionState","Immutable","EditorStateRecord","allowUndo","currentContent","decorator","directionMap","forceSelection","inCompositionMode","inlineStyleOverride","lastChangeType","nativelyRenderedContent","redoStack","treeMap","undoStack","EditorState","createEmpty","createWithText","createWithContent","createFromText","contentState","getBlockMap","firstKey","getKey","recordConfig","generateNewTreeMap","getDirectionMap","editorState","put","getImmutable","existingDecorator","newContent","getCurrentContent","newTreeMap","blockMap","previousTreeMap","block","getDecorations","generate","regenerateTreeForNewDecorator","newBlockMap","newEntityMap","prevBlockMap","regenerateTreeForNewBlocks","getEntityMap","_proto","immutable","_immutable","getAllowUndo","getUndoStack","getRedoStack","getDecorator","isInCompositionMode","mustForceSelection","getNativelyRenderedContent","getLastChangeType","getInlineStyleOverride","setInlineStyleOverride","getCurrentInlineStyle","override","isCollapsed","startKey","getStartKey","startOffset","getStartOffset","startBlock","getBlockForKey","getInlineStyleAt","getLength","lookUpwardForInlineStyle","getInlineStyleForCollapsedSelection","getInlineStyleForNonCollapsedSelection","getBlockTree","blockKey","isSelectionAtStartOfContent","hasEdgeWithin","isSelectionAtEndOfContent","acceptSelection","updateSelection","getHasFocus","moveSelectionToEnd","lastBlock","getLastBlock","lastKey","anchorKey","anchorOffset","focusKey","focusOffset","isBackward","moveFocusToEnd","afterSelectionMove","changeType","getSelectionAfter","mustBecomeBoundary","getSelectionBefore","overrideChangeTypes","editorStateChanges","undo","newCurrentContent","redo","fromKey","lastNonEmpty","COMPOSITION_START_EVENT","NAMESPACE","KeyboardProcessor","_keydown","_compositionStart","_compositionEnd","_element","focusTarget","_focusTarget","_processFunction","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","process","_toggleProcessingWithContext","toggleProcessing","keyName","ctrl","shiftKey","altKey","pureAddNamespace","executeAction","execute","opts","resize","hover","shown","hiding","focus","focusIn","focusOut","isFocusable","_ref7","dxClick","keyboardProcessors","listenerId","_getProcessor","subscribeReady","windowExists","doScroll","DOMComponent","_supportedKeys","hoveredElement","disabled","hint","onContentReady","tabIndex","accessKey","onFocusIn","onFocusOut","onKeyboardHandled","ignoreParentReadOnly","_init","_initContentReadyAction","_innerWidgetOptionChanged","innerWidget","getOptionsFromContainer","_bindInnerWidgetOptions","optionsContainer","syncOptions","silent","_contentReadyAction","_initMarkup","_toggleDisabledState","_toggleVisibility","_renderHint","_isFocusable","_renderFocusTarget","_render","_renderContent","_renderFocusState","_attachFeedbackEvents","_attachHoverEvents","_toggleIndependentState","_renderContentImpl","_fireContentReadyAction","_dispose","_detachKeyboardEvents","_resetActiveState","_toggleActiveState","_clean","_cleanFocusState","_attachKeyboardEvents","_attachFocusEvents","_renderAccessKey","_getActiveElement","_keyboardEventBindingTarget","_refreshFocusEvent","_detachFocusEvents","_focusEventTarget","_focusInHandler","beforeExecute","_updateFocusState","_focusOutHandler","isFocused","_toggleFocusClass","_hasFocusClass","_isFocused","_getKeyboardListeners","hasChildListeners","_keyboardListenerId","_keyboardHandler","onlyChildProcessing","keyboardListeners","listener","_refreshFocusState","_hoverStartHandler","_hoverEndHandler","focusableSelector","_updatedHover","_hover","_findHoverTarget","$previous","newHoveredElement","Boolean","_setWidgetOption","widgetName","optionName","widgetOptionMap","_optionChanged","previousValue","_isVisibilityChangeSupported","_checkVisibilityChanged","_isVisible","beginUpdate","_ready","endUpdate","_initialized","_isReady","isReady","repaint","_refresh","registerKeyHandler","currentKeys","fullName","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","initial","resetInjection","_normalize","_generate","random","focusableFn","isTabIndexNotNaN","isDisabled","isDefaultFocus","isHyperlink","href","focusable","tabbable","request","requestID","setAnimationFrameMethods","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","canceledRequests","requestId","scrollbarWidth","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","safari","normalizeAlign","w","normalizeOffset","getAlignFactor","align","inverseAlign","calculateOversize","bounds","oversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","inverseData","flipfit","none","calculateScrollbarWidth","$scrollDiv","overflow","clientWidth","defaultPositionResult","calculatePosition","$what","currentOffset","collision","normalizeCollision","boundary","boundaryOffset","visualViewport","offsetLeft","offsetTop","innerWidth","innerHeight","ofRect","getOffsetWithoutScale","windowHeight","hZoomLevel","vZoomLevel","clientHeight","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","precise","$startElement","_currentElement$getAt","_style$match","$currentElement","currentElement","targetPosition","parentLocales","parentLocale","DEFAULT_LOCALE","currentLocale","isRootLocale","getParentLocale","_toConsumableArray","arrayLikeToArray","$originalViewPort","$current","isNewViewportFound","STATUS","BaseRuleValidator","rulesValidators","required","rule","valueArray","itemValue","_validate","RequiredRuleValidator","NumericRuleValidator","ignoreEmptyValue","_isValueEmpty","useCultureSettings","RangeRuleValidator","validNumber","numeric","validValue","StringLengthRuleValidator","range","CustomRuleValidator","validator","dataGetter","extraParams","params","validationCallback","AsyncRuleValidator","reevaluate","_getWrappedPromise","res","isValid","CompareRuleValidator","comparisonTarget","otherValue","comparisonType","PatternRuleValidator","EmailRuleValidator","stringLength","async","email","GroupConfig","group","validators","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","brokenRules","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_validationInfo","_unsubscribeFromChangeEvents","_removePendingValidator","_orderBrokenRules","orderedRules","foundRules","_updateBrokenRules","rules","_resolveIfComplete","_synchronizeValidationInfo","removeRegisteredValidator","registerValidator","$dxGroup","dxValidationGroup","initGroups","addGroup","removeGroup","_setDefaultMessage","defaultFormattedMessage","defaultMessage","_addBrokenRule","brokenRule","validationRules","pendingRules","asyncRuleItems","ruleValidationResult","ruleValidator","_validateAsyncRules","asyncResults","validateResult","asyncResult","ruleResult","_getPatchedRuleResult","_updateRuleConfig","all","_getAsyncRulesResult","registerValidatorInGroup","groupConfig","_shouldRemoveGroup","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","initValidationOptions","initedOptions","synchronizeValidationOptions","newStatus","validationError","validationErrors","validateGroup","resetGroup","bindType","delegateType","jsPrefixes","cssPrefixes","Webkit","Moz","O","getStyles","originalName","toUpperCase","prefixedProp","stylePropPrefix","callBack","camelize","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","SPECIAL_HEIGHT_VALUES","getSizeByStyles","styles","beforeName","afterName","margin","boxParams","clientRect","boundingClientRect","getBoxSizingOffset","parseHeight","getContainerHeight","getHeightWithOffset","addOffsetToMaxHeight","maxHeight","addOffsetToMinHeight","minHeight","getVerticalOffsets","withMargins","getVisibleHeight","INVALID_MESSAGE","ValidationMessage","Overlay","integrationOptions","templatesRenderAsynchronously","closeOnOutsideClick","closeOnTargetScroll","propagateOutsideClick","_checkParentVisibility","contentTemplate","_renderInnerHtml","maxWidth","positionRequest","describedElement","updateMaxWidth","_updatePosition","$wrapper","_toggleModeClass","_updateContentId","contentId","validationErrorMessage","encodeHtml","_target$outerWidth","targetWidth","positionSide","verticalPositions","INVALID_MESSAGE_AUTO","VALIDATION_TARGET","VALIDATION_STATUS_INVALID","ALLOWED_STYLING_MODES","VALIDATION_MESSAGE_KEYS_MAP","validationMessageMode","validationMessageOffset","validationBoundary","Editor","showValidationMessageTimeout","validationRequest","_createElement","_initOptions","onValueChanged","readOnly","validationTooltipOptions","_setOptionsByReference","_optionsByReference","_createValueChangeAction","_valueChangeAction","_suppressValueChangeAction","_valueChangeActionSuppressed","_resumeValueChangeAction","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_raiseValueChangeAction","_valueChangeArgs","_valueChangeEventInstance","_saveValueChangeEvent","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_this$_validationMess","$validationMessageWrapper","_validationMessage","_getStylingModePrefix","optionValue","allowedStylingClasses","stylingModeClass","defaultOptionValue","platformOptionValue","_convertRulesToOptions","_defaultOptionsRules","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","isInvalid","_getValidationMessageTarget","_toggleBackspaceHandler","isReadOnly","$eventTarget","EventsEngine","$submitElement","_getSubmitElement","_setValidationMessageOption","_this$_validationMess2","optionKey","_hasActiveElement","_this$_validationMess3","editor","isEditor","_wrappedHandler","_upperCaseFirst","_chop","dasherize","p","upperFirst","titleize","_action","_context","_beforeExecute","_afterExecute","_component","component","_validatingTargetName","validatingTargetName","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","_executor$execute","registerExecutor","createValidatorByTargetElement","triggerVisibilityChangeEvent","changeHandlers","triggerShownEvent","triggerHidingEvent","triggerResizeEvent","findItems","keyInfo","groupCount","collapsedItems","indexByKey","getItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","applyBatch","useInsertIndex","disableCache","logError","resultItems","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","dataUtils","keyOrKeys","hasKey","getCacheValue","newTarget","targetWithoutPrototype","createObjectWithChanges","keyValue","getHasKeyCacheValue","_excluded","CANCELED_TOKEN","isPending","normalizeStoreLoadOptionAccessorArguments","originalArguments","mapGroup","restItem","_objectWithoutPropertiesLoose","mapRecursive","mapDataRespectingGrouping","groupInfo","normalizeLoadResult","extra","_data","createCustomStoreFromUrl","normalizationOptions","CustomStore","ajaxUtils","sendRequest","dataType","loadMode","fromUrlLoadMode","normalizeDataSourceOptions","store","paginate","Store","storeConfig","createCustomStoreFromLoadFunc","ArrayStore","alias","createStoreFromConfig","CharacterMetadata","ContentStateInlineStyle","applyEntityToContentState","getCharacterRemovalRange","getContentStateFragment","insertFragmentIntoContentState","insertTextIntoContentState","modifyBlockForContentState","removeEntitiesAtEdges","removeRangeFromContentState","splitBlockInContentState","DraftModifier","replaceText","rangeToReplace","inlineStyle","entityKey","withoutEntities","withoutText","character","insertText","targetRange","moveText","removalRange","movedFragment","afterRemoval","removeRange","replaceWithFragment","fragment","mergeBlockData","rangeToRemove","removalDirection","endKey","endBlock","getIsBackward","getFocusKey","getFocusOffset","getAnchorKey","getAnchorOffset","endOffset","getEndOffset","startEntityKey","getEntityAt","endEntityKey","adjustedRemovalRange","splitBlock","selectionState","applyInlineStyle","removeInlineStyle","setBlockType","blockType","setBlockData","blockData","applyEntity","UserAgentData","VersionRange","mapObject","memoizeStringOnly","query","startsWith","normalizePlatformVersion","platformName","UserAgent","isBrowser","browserFullVersion","isBrowserArchitecture","browserArchitecture","isDevice","isEngine","engineName","engineVersion","isPlatform","platformFullVersion","isPlatformArchitecture","platformArchitecture","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","updateEventsCounter","eventsCount","DragEmitter","GestureEmitter","_initEvent","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","dropTargets","targetElements","_dropTargets","iteratorUtils","_move","eData","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_fitOffset","minOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_$element","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","activeTarget","$prevTarget","dropTargetConfig","itemPositionFunc","targetSize","itemSizeFunc","getItemSize","checkDropTarget","isUndefined","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isNumber","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","assignValue","thisArg","stripBOM","renderedCallbacks","TemplateBase","onRendered","$result","_renderCore","_ensureResultInContainer","resultInContainer","remoteQueryImpl","queryOptions","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","adapter","queryAdapters","optimize","unmergedTasks","clientChain","arrayQueryImpl","queryImpl","remote","impl","encodeRegExp","quadToObject","quad","splitQuad","placeholderReg","SPACE_REGEXP","_require","defaultRecord","_CharacterMetadataRec","getStyle","getEntity","hasStyle","applyStyle","withStyle","removeStyle","withoutStyle","withEntity","EMPTY","configMap","pool","newCharacter","findRangesImmutable","characterList","prevSibling","haveEqualStyle","charA","charB","haveEqualEntity","decorateCharacterList","ContentBlockNode","getType","getText","getCharacterList","getDepth","getChildKeys","getParentKey","getPrevSiblingKey","getNextSiblingKey","findStyleRanges","filterFn","findEntityRanges","MANAGER_EVENT","EMITTER_DATA","eventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","wheelEventName","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","arg","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","validatePointers","addCancelCallback","addAcceptCallback","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","allowInterruptionByMouseWheel","closestGestureEmitter","gesture","getDirection","verticalGestureDirection","delta","EMITTER_SUBSCRIPTION_DATA","emitterConfig","emitterClass","emitterName","emitterEvents","subscriptions","delegateSelector","disposeEmitter","LOADINDICATOR_SEGMENT_CLASS","LoadIndicator","indicatorSrc","_animatingSegmentCount","_animatingSegmentInner","viaImage","_useTemplates","_renderWrapper","_renderIndicatorContent","_renderMarkup","_$wrapper","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","_$indicator","$segment","_renderDimensions","_updateContentSizeForAnimation","minDimension","_removeMarkupForAnimation","_removeMarkupForImage","DX_POLYMORPH_WIDGET_TEMPLATE","widget","widgetElement","widgetOptions","_createComponent","TemplateManager","_tempTemplates","_defaultTemplates","_anonymousTemplateName","defaultCreateElement","_createTemplateIfNeeded","templates","tempTemplate","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","_createTemplate","$anonymousTemplate","isEmptyText","templateSource","cachedTemplate","templateKey","validateTemplateSource","isAsyncTemplate","skipTemplates","templateSourceResult","getNormalizedTemplateArgs","EmptyTemplate","acquireTemplate","watchMethod","skipImmediate","useDeferUpdateForTemplates","Component","elementAttr","createDefaultOptions","_customClass","attachInstanceToElement","_getSynchronizableOptionsForCreateComponent","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","_setOptionsByDevice","instanceCustomRules","_classCustomRules","_isInitialOptionValue","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","windowResizeCallbacks","_renderComponent","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_attachVisibilityChangeHandlers","class","_attachDimensionChangeHandlers","_getOptionValue","_isCssUpdateRequired","resizeEvent","_isHidden","visibilityEvents","modelByElement","_isUpdateAllowed","_requireRefresh","_detachWindowResizeCallback","rtl","synchronizableOptions","nestedComponentOptions","nestedComponentConfig","_extendConfig","optionChangedHandler","extendConfig","_defaultActionConfig","_defaultActionArgs","_removeAttributes","attrs","_removeClasses","cssClass","_updateDOMComponent","renderRequired","_isInitializingRequired","resetOption","initialOption","_getAnonymousTemplateName","createTemplate","_initTemplates","extractTemplates","anonymousTemplate","_getTemplate","getTemplate","_saveTemplate","_setOptionWithoutOptionChange","getInstanceByElement","componentNames","nextAnonymousComponent","getName","newName","generatedName","componentInstance","disposeFn","resolver","promises","currentTemplateEngine","templateEngines","registerTemplateEngine","templateEngine","getCurrentTemplateEngine","compile","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","setTemplateEngine","Template","_compiledTemplate","rawTemplates","templatesMap","Errors","_findBestMatches$","suitableTemplate","addOneRenderedCall","templateResult","defaultTemplates","ChildDefaultTemplate","integrationTemplate","acquireIntegrationTemplate","propIsEnumerable","test1","getOwnPropertyNames","test2","n","test3","letter","shouldUseNative","symbols","__extends","extendStatics","__","React","component_base_1","extension_component_1","_super","_this","_extensionCreators","_registerExtension","componentDidMount","_createWidget","_createExtensions","renderChildren","Children","child","isPrototypeOf","ExtensionComponent","cloneElement","onMounted","creator","ComponentBase","seenKeys","MULTIPLIER","_events","_owner","eventArgs","originalAdd","INKRIPPLE_CLASS","INKRIPPLE_WAVE_CLASS","INKRIPPLE_SHOWING_CLASS","INKRIPPLE_HIDING_CLASS","wavesNumber","durations","getDurations","initConfig","getWaves","inkRipple","getInkRipple","$currentWave","$wave","wave","hidingTimeout","hideSelectedWave","elementWidth","elementHeight","elementDiagonal","sqrt","waveSize","getWaveStyleConfig","showingTimeout","showingWaveHandler","durationCss","showingScale","hidingScale","hidingOpacity","animationDuration","CONTEXTMENU_NAMESPACE","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","holdEvent","CONTEXTMENU_EVENT_NAME","ContextMenu","_contextMenuHandler","_holdHandler","_fireContextMenu","ITEM_CLASS","CONTENT_CLASS_POSTFIX","ITEM_CONTENT_PLACEHOLDER_CLASS","TEMPLATE_WRAPPER_CLASS","ITEM_PATH_REGEX","FOCUS_UP","FOCUS_DOWN","FOCUS_LEFT","FOCUS_RIGHT","FOCUS_LAST","FOCUS_FIRST","CollectionWidget","$itemElement","_itemClickHandler","_moveFocus","leftArrow","rightArrow","upArrow","downArrow","pageUp","pageDown","selectOnFocus","loopItemFocus","itemTemplate","onItemRendered","onItemClick","onItemHold","itemHoldTimeout","onItemContextMenu","onFocusedItemChanged","noDataText","dataSource","_itemAttributes","itemTemplateProperty","focusOnSelectedItem","focusedElement","displayExpr","disabledExpr","visibleExpr","_compileDisplayGetter","_cleanRenderedItems","_refreshDataSource","_displayGetter","_initItemsFromMarkup","_initDefaultItemTemplate","fieldsMap","_getFieldsMap","BindableTemplate","_prepareDefaultItemTemplate","_getBindableFields","rawItems","_prepareItemTemplate","templateId","_dataSourceOptions","_renderedItemsCount","$focusedElement","_setFocusedItem","$activeItem","_getActiveItem","_updateFocusedItemState","activeElements","lastIndex","$newTarget","$items","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$itemElements","_itemElements","targetIndex","$last","$item","loop","$first","_selectFocusedItem","selectItem","needCleanItemId","_refreshActiveDescendant","_refreshItemId","_updateParentActiveDescendant","getFocusedItemId","_findItemElementByItem","itemElements","_itemDataKey","_getIndexByItem","_itemOptionChanged","oldValue","ItemClass","setDataField","_refreshItem","_resetItemFocus","itemData","_getItemData","_itemIndexKey","_renderItem","itemPath","_renderEmptyMessage","_createItemRenderAction","_attachHoldEvent","_attachContextMenuEvent","_loadNextPage","_dataSource","_expectNextPageLoading","pageIndex","_startIndexForAppendedItems","_expectLastItemLoading","_forgetNextPageLoading","_dataSourceChangedHandler","newItems","_shouldAppendItems","_isLastPage","_refreshContent","_prepareContent","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_cleanItemContainer","_itemContainer","_itemFocusTimeout","_itemClass","_itemContentClass","_selectedItemClass","_itemResponseWaitClass","_itemSelector","_attachClickEvent","itemSelector","clickEventNamespace","clickEventName","pointerDownEventNamespace","pointerDownAction","_itemPointerDownHandler","_itemDXEventHandler","_itemFocusHandler","$closestItem","$closestFocusable","_closestFocusable","_forcePointerDownFocus","$itemContainer","_getHoldTimeout","_itemHoldHandler","_shouldFireHoldEvent","hasActionSubscription","_itemContextMenuHandler","_shouldFireContextMenuEvent","_renderItems","$itemToReplace","$itemFrame","_renderItemFrame","_setElementData","_attachItemClickEvent","$itemContent","_getItemContent","renderContentPromise","_renderItemContent","contentClass","defaultTemplateName","_postprocessRenderItem","itemContent","itemIndex","_executeItemRenderAction","_itemEventHandlerByHandler","itemTemplateName","_getItemTemplateName","_addItemContentClasses","$templateResult","_createItemByTemplate","_renderItemContentByNode","classes","_appendItemToContainer","_itemOptions","displayValue","fieldGetter","_getItemRenderAction","_itemRenderAction","category","templateProperty","renderArgs","_emptyMessageContainer","hideNoData","_isDataSourceLoading","_$noData","dxEvent","handlerOptionName","actionArgs","actionConfig","_itemEventHandler","initiator","_itemEventHandlerImpl","_closestItemElement","_extendActionArgs","_getSummaryItemsWidth","includeMargin","_focusedItemId","itemsContainer","DataHelperMixin","CollectionWidgetItem","_setOption","_clearItemKeys","onSelectionChanged","addedItemKeys","removedItemKeys","addedItems","removedItems","selectedItems","selectedItemKeys","equalKeys","equalByReference","getSelectableItems","_clearSelection","preserve","isDeselect","isSelectAll","_loadFilteredData","remoteFilter","localFilter","select","filterLength","encodeURI","needLoadAllData","maxFilterLengthInRequest","loadOptions","dataFields","filteredItems","dataQuery","updateSelectedItemKeyHash","keyHashIndices","_isAnyItemSelected","isItemSelected","_getFullSelectAllState","plainItems","dataFilter","selectedItemsLength","totalCount","disabledItemKeys","_getVisibleSelectAllState","hasSelectedItems","hasUnselectedItems","getItemData","isSelectableItem","isItemKeySelected","SelectionStrategy","getSelectedItems","selectionFilter","getSelectedItemKeys","_addSelectionFilter","removeSelectedItem","addSelectedItem","setSelectedItems","isItemDataSelected","_getKeyExpr","keyField","_normalizeKey","_getFilterByKey","_findSubFilter","filterString","subFilter","_isLastSubFilter","_addFilterOperator","filterOperator","_denormalizeFilter","currentFilter","currentOperation","needAddFilter","_removeSameFilter","filterIndex","isKeyOperatorsAfterRemoved","_isKeyFilter","_hasKeyFiltersOnlyStartingFromIndex","_normalizeFilter","_removeFilterByIndex","operation","_isSimpleKeyFilter","inverted","_filterIndex","getSelectAllState","SelectionFilterCreator","selectedItemKeyHashesMap","functionFilter","getFilterForPlainKey","getLocalFilter","keyGetter","getExpr","filterExpr","filterExprPart","itemKeyValue","currentKeyExpr","getCombinedFilter","dataSourceFilter","combinedFilter","_initSelectedItemKeyHash","_preserveSelectionUpdate","keyIndicesToRemoveMap","keyIndex","isBatchDeselect","_batchRemoveSelectedItems","_loadSelectedItemsCore","selectionFilterCreator","deselectedItems","_replaceSelectionUpdate","internalKeys","_warnOnIncorrectKeys","allowNullValue","_isMultiSelectEnabled","_requestInProgress","_this$_lastLoadDeferr","_lastLoadDeferred","_concatRequestsItems","oldRequestItems","added","_collectLastRequestData","isDeselectAll","multiSelectEnabled","lastRequestData","_lastRequestData","isKeysEqual","_updateKeysByLastRequestData","_this$_lastRequestDat","_this$_lastRequestDat2","_loadSelectedItems","_getKeyHash","_indexOfSelectedItemKey","_getSelectedIndexByKey","ignoreIndicesMap","_getSelectedIndexByHash","indices","_shiftSelectedKeyIndices","currentKeyIndex","currentKey","currentKeyHash","currentKeyIndices","keyIndices","_updateAddedItemKeys","_updateRemovedItemKeys","oldSelectedKeys","oldSelectedItems","_isItemSelectionInProgress","checkPending","visibleOnly","selectedKeys","_selectionStrategy","deferredStrategy","standardStrategy","_focusedItemIndex","filterIsChanged","setSelection","deselect","_addSelectedItem","_removeSelectedItem","_setSelectedItems","changeItemSelection","isSelectedItemsChanged","isSelectable","isDataItem","itemKey","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","isSelected","clearSelectedItems","_shiftFocusedItemIndex","_resetFocusedItemIndex","itemIndexStep","focusedItem","focusedData","focusedKey","isFocusedItemSelected","selectAll","isOnePage","_onePageSelectAll","deselectAll","ITEM_DELETING_DATA_KEY","indexExists","BaseCollectionWidget","selectedItem","selectionMode","selectionRequired","selectionByClick","selectedIndex","onItemReordered","onItemDeleting","onItemDeleted","_userOptions","_initEditStrategy","_initKeyGetter","_initSelectionModule","_keyGetter","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_getCombinedFilter","_nullValueSelectionSupported","itemsGetter","_selection","Selection","_updateSelectedItems","customQueryParams","userData","_userData","loadResult","_applyMapFunction","Strategy","PlainEditStrategy","_getSelectedItemIndices","beginCache","endCache","_rendering","isLoading","_syncSelectionOptions","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","selectedItemIndex","isOptionDefined","_compareKeys","oldKeys","newKeys","newSelection","currentSelection","normalizedSelection","_itemSelectHandler","unselectItem","_selectedItemElement","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","_setAriaSelected","selectionChangePromise","_selectionChangePromise","normalizedIndex","addedSelection","removedSelection","_addSelection","_removeSelection","_updateSelection","_fireSelectionChangeEvent","getItemElement","_clearSelectedItems","_waitDeletingPrepare","deletingActionArgs","deletePromise","deletePromiseExists","deletePromiseResolved","argumentsSpecified","shouldDelete","_deleteItemFromDS","disabledState","dataStore","_tryRefreshLastPage","_refreshLastPage","_updateSelectionAfterDelete","_updateIndicesAfterIndex","_simulateOptionChange","DataSource","_optionChangedAction","_deleteItemElementByIndex","deleteItemAtIndex","_afterItemElementDeleted","deletedActionArgs","changingOption","deleteItem","itemResponseWaitClass","reorderItem","toItemElement","$movingItem","$destinationItem","movingIndex","destinationIndex","itemPlacementFunc","moveItemAtIndexToIndex","fromIndex","getIndex","toIndex","hideCallback","indexOfCallback","hasCallback","RESIZABLE","RESIZABLE_HANDLE_CLASS","DRAGSTART_START_EVENT_NAME","dragEventStart","DRAGSTART_EVENT_NAME","dragEventMove","DRAGSTART_END_EVENT_NAME","dragEventEnd","SIDE_BORDER_WIDTH_STYLES","Resizable","handles","stepPrecision","area","minWidth","onResizeStart","onResize","onResizeEnd","roundStepValue","_renderHandles","_renderActions","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","directions","handleName","_renderHandle","_attachEventHandlers","$handle","handlers","_dragStartHandler","_dragHandler","_dragEndHandler","handleElement","immediate","_detachEventHandlers","_toggleEventHandlers","shouldAttachEvents","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","elementRect","_elementSize","_renderDragOffsets","_getArea","handleWidth","handleHeight","handleOffset","areaOffset","scrollOffset","_getAreaScrollOffset","scrollX","scrollY","_getBorderWidth","borderWidth","sides","_getOffset","_renderWidth","_renderHeight","strictPrecision","_getStrictOffset","_getSimpleOffset","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","hasCornerTopLeftClass","RESIZABLE_HANDLE_CORNER_CLASS","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","areaElement","_correctAreaGeometry","$area","areaBorderLeft","areaBorderTop","SWATCH_CONTAINER_CLASS_PREFIX","swatchContainer","viewport","swatchClassRegex","swatchClass","viewportSwatchContainer","baseZIndex","zIndexStack","zIndex","INNER_OVERLAY_CLASS","INVISIBLE_STATE_CLASS","ACTIONS","OVERLAY_STACK","DISABLED_STATE_CLASS","PREVENT_SAFARI_SCROLLING_CLASS","POSITION_ALIASES","center","firefoxDesktop","iOS","hasSafariAddressBar","_proxiedDocumentDownHandler","allowedOffsets","_allowedOffsets","_changePosition","deferRendering","shadingColor","onShowing","onShown","onHiding","onHidden","dragEnabled","resizeEnabled","innerOverlay","hideTopOverlayHandler","onPositioned","ignoreChildEvents","_fixedPosition","_initActions","_initCloseOnOutsideClickHandler","_initTabTerminatorHandler","_initInnerOverlayClass","_toggleViewPortSubscription","_initHideTopOverlayHandler","_initTarget","_initContainer","pathParts","_$container","_hideTopOverlayHandler","_actions","_documentDownHandler","_showAnimationProcessing","_stopAnimation","isAttachedTarget","isInnerOverlay","_outsideClickHandler","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","_zIndexInitValue","_viewPortChangeHandle","_viewPortChangeHandler","_renderVisibilityAnimate","_show","_hide","_normalizePosition","_position","_getAnimationConfig","_parentHidden","_isParentHidden","_currentVisible","_isShown","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_isHidingActionCanceled","_renderVisibility","_isShowingActionCanceled","_animate","_toggleSafariScrolling","_stopShowTimer","_asyncShowTimeout","hideAnimation","startHideAnimation","completeHideAnimation","hidingArgs","_forceFocusLost","_toggleShading","_toggleSubscriptions","_that$_actions","_hideAnimationProcessing","completeCallback","startCallback","_updateZIndexStackPosition","showingArgs","_moveFromContainer","_moveToContainer","_renderGeometry","pushToStack","_zIndex","baseIndex","zIndexPool","_toggleTabTerminator","_proxiedTabTerminatorHandler","_tabKeyHandler","enabled","$elements","elementsCount","$firstTabbable","$lastTabbable","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","$focusElement","_toggleHideTopOverlayCallback","_toggleParentsScrollSubscription","subscribe","hideTopOverlayCallback","closeOnScroll","$parents","scrollEvent","_proxiedTargetParentsScrollHandler","_targetParentsScrollHandler","_$prevTargetParents","closeHandled","_appendContentToElement","shouldDeferRendering","_contentAlreadyRendered","$parent","isHidden","whenContentRendered","contentTemplateOption","noModel","_renderDrag","_renderResize","_renderScrollTerminator","$dragTarget","_getDragTarget","startEventName","updateEventName","_dragUpdateHandler","_resizable","_resizeEndHandler","_getDragResizeContainer","_positionChangeHandled","$scrollTerminator","terminatorEventName","_toggleGestureCover","_toggleGestureCoverImpl","isNative","isWheel","isMouseMove","isScrollByWheel","cancelable","_prevOffset","_deltaSize","contentWidth","contentHeight","containerWidth","containerHeight","_isWindow","prevOffset","targetOffset","deltaSize","isAllowedDrag","shaderOffset","_getContainer","_detachWrapperToContainer","_attachWrapperToContainer","renderContainer","swatch","_fixHeightAfterSafariAddressBarResizing","isDimensionChanged","_renderGeometryImpl","resultPosition","_renderPosition","_fixWrapperPosition","_useFixedPosition","_shouldFixBodyPosition","_bodyScrollTop","scrollingEnabled","_renderWrapperDimensions","_renderWrapperPosition","wrapperWidth","wrapperHeight","positionOf","_renderOverlayBoundaryOffset","_transformStringPosition","_deferShowTimer","_animateDeferred","showing","animateDeferred","ZIndex","Clone","orderEach","isNumberX","isNumberY","assignValueToProperty","assignByReference","extendComplexObject","prevValue","maxLevel","normalizeArg","xItem","yItem","isWritableWrapped","logger","SWIPE_START_EVENT","SWIPE_EVENT","SWIPE_END_EVENT","STRATEGIES","horizontal","defaultItemSizeFunc","getBounds","calcOffsetRatio","_savedEventData","_itemSizeFunc","isFastSwipe","endEventData","FAST_SWIPE_SPEED_LIMIT","_tickData","vertical","SwipeEmitter","TICK_INTERVAL","elastic","_getStrategy","_defaultItemSizeFunc","moveEventData","offsetRatio","isFast","_calcTargetOffset","isAbsolute","pathname","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","valueEqual","aValue","bValue","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","search","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","confirm","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","globalHistory","history","_props","_props$getUserConfirm","_props$hashType","hashType","basename","_HashPathCoders$hashT","getDOMLocation","transitionManager","setState","nextState","forceNextPop","ignorePath","handleHashChange","encodedPath","prevLocation","ok","fromLocation","toLocation","allPaths","go","revertPop","handlePop","initialLocation","listenerCount","checkDOMListeners","isBlocked","createHref","baseTag","pushHashPath","prevIndex","nextPaths","goBack","goForward","unblock","unlisten","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","_props$keyLength","keyLength","createKey","nextIndex","nextEntries","canGo","_setPrototypeOf","_inheritsLoose","KEY_DELIMITER","DraftOffsetKey","encode","decoratorKey","leafKey","decode","offsetKey","_offsetKey$split$reve","AsyncCollectionWidget","CollectionWidgetEdit","_deferredItems","renderContentDeferred","itemDeferred","_postProcessRenderItems","_renderItemsAsync","TOOLBAR_BEFORE_CLASS","TOOLBAR_AFTER_CLASS","TOOLBAR_LABEL_CLASS","TOOLBAR_COMPACT_CLASS","TOOLBAR_LABEL_SELECTOR","TOOLBAR_MULTILINE_CLASS","ToolbarBase","compactMode","rawModel","menuItem","renderAs","grouped","useFlatButtons","useDefaultButtons","multiline","_$toolbarItemsContainer","_buttonClass","_arrangeItems","_applyCompactMode","_renderToolbar","_renderSections","_waitParentAnimationFinished","runCheck","_waitParentAnimationTimeout","readyToResolve","_checkWebFontForLabelsLoaded","sectionClass","$section","$labels","_$centerSection","beforeRect","_$beforeSection","afterRect","_$afterSection","_alignCenterSection","$label","labelOffset","widthBeforeSection","widthAfterSection","elemsAtSectionWidth","freeSpace","sectionMaxWidth","_alignSection","labelPaddings","isRTL","leftRect","rightRect","centerRect","marginRight","labels","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","difference","_alignSectionLabels","expanding","getRealLabelWidth","currentLabelWidth","labelMaxWidth","possibleLabelWidth","itemContainer","$after","itemHasText","_renderGroupedItems","groupIndex","groupItems","_getToolbarItems","POPUP_CLASS","POPUP_TITLE_CLASS","POPUP_BOTTOM_CLASS","ALLOWED_TOOLBAR_ITEM_ALIASES","IS_IE11","IS_OLD_SAFARI","HEIGHT_STRATEGIES","static","flex","Popup","fullScreen","title","showTitle","titleTemplate","onTitleRendered","toolbarItems","showCloseButton","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","autoResizeEnabled","currentTheme","_iosAnimation","_androidAnimation","_device","_$popupContent","isFullscreen","_toggleFullScreenClass","$overlayContent","_renderTitle","_renderBottom","titleText","_$title","$title","_renderTemplateByType","_executeTitleRenderAction","_hasCloseButton","additionalToolbarOptions","toolbarOptions","$toolbar","$titleElement","_getTitleRenderAction","titleElement","_titleRenderAction","_createTitleRenderAction","_getCloseButton","toolbar","_getCloseButtonRenderer","$button","_createToolbarItemAction","toolbarsItems","_toolbarItemClasses","currentPlatform","isShortcut","shortcut","getButtonPlace","_getToolbarItemByAlias","isLTROrder","_getLocalizationKey","itemType","itemConfig","itemClass","$toolbarItem","clickAction","_$bottom","$bottom","_toggleClasses","aliases","topToolbar","_resetContentHeight","_setContentHeight","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","_isAutoHeight","cssStyles","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","header","footer","contentVerticalOffsets","popupVerticalOffsets","maxHeightValue","currentClass","excessClasses","bottomToolbar","_toggleSafariFullScreen","_renderFullscreenWidthClass","refreshPosition","shouldRenderGeometry","createQueue","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","OperationManager","_counter","_deferreds","operationId","_options$reshapeOnPus","_store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","_onPush","_onPushHandler","_aggregationTimeoutId","waitFor","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","_reshapeOnPush","reshapeOnPush","_operationManager","_items","_totalCount","_isLoaded","_this$_delayedLoadTas","_delayedLoadTask","cancelAll","customNames","_customLoadOptions","newIndex","isLastPage","generateStoreLoadOptionAccessor","normalizedArgs","newFilter","_len2","_key2","_len3","_key3","requireTotalCount","op","argc","_this$_store","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","_scheduleLoadCallbacks","_scheduleFailCallbacks","_len4","_key4","_fireChanged","_scheduleChangedCallbacks","loadSingle","_createStoreLoadOptions","refresh","searchString","_byKeyViaLoad","byKey","loadTask","_loadFromStore","loadOperation","_createLoadOperation","groupLevel","dataSourceChanges","storeLoadOptions","reload","clearRawDataCache","_addSearchOptions","_useDefaultSearch","_addSearchFilter","searchFilter","pendingDeferred","handleSuccess","_processStoreLoadResult","resolvePendingDeferred","_applyPostProcessFunction","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","SCROLL_INIT_EVENT","SCROLL_START_EVENT","SCROLL_MOVE_EVENT","SCROLL_END_EVENT","SCROLL_STOP_EVENT","SCROLL_CANCEL_EVENT","Locker","NAMESPACED_SCROLL_EVENT","_locked","_proxiedScroll","_scroll","check","TimeoutLocker","_timeout","_prepare","_forget","_timer","_clearTimer","WheelLocker","_lastWheelDirection","_checkDirectionChanged","directionChange","PointerLocker","ios8_greater","android5_greater","_scrollFrame","_checkFrame","ScrollEmitter","FRAME_DURATION","_pointerLocker","_wheelLocker","scrollTarget","skipCheck","_prevEventData","isScrollingEvent","currentEventData","endEventDelta","velocity","velocityMultiplier","_stop","g","__DRAFT_GKX","_cancelCallback","_acceptCallback","_requestAccept","_acceptRequestEvent","_forgetAccept","_getEmitterTarget","countable","ArrayIterator","WrappedIterator","hasNext","defaultCompare","xValue","yValue","SortIterator","_wrap","thenBy","sortedIter","_ensureSorted","_compare","_unwrap","wrappedItem","xIndex","yIndex","rulesCount","compareResult","compileCriteria","compileEquals","negate","ops","isConjunctiveNextOperator","criteria","getterValue","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","pos","handleDataError","aggregateCore","aggregator","accumulator","standardAggregate","chainQuery","selectProp","enumerate","MAX_VALUE","aggregate","fields","_fields","_fieldsMap","_watchMethod","rawData","fieldsDispose","globalDispose","dataWithRawFields","resolvedData","missedFields","watchHandlers","watchChanges","TextEditorButton","$placeMarker","_isRendered","_create","_attachEvents","_addPlaceMarker","_shouldRender","enumerableOnly","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","styleToObject","acc","PRODUCTION","normalizeIconArgs","iconName","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","mask","titleId","iconLookup","_classes","spin","pulse","fixedWidth","inverse","listItem","rotation","pull","swapOpacity","renderedIcon","_console","extraProps","defaultProps","convertCurry","displayName","propTypes","PropTypes","bool","oneOfType","oneOf","convert","mixins","_extraProps$style","existingStyle","remaining","tag","faCalendarPlus","faChartBar","faQuestionCircle","faRss","faUndo","faUserCircle","ValidationRule","StringLengthRule","RequiredRule","RangeRule","PatternRule","NumericRule","EmailRule","CustomRule","CompareRule","AsyncRule","Adapter","Validator","validator_1","nested_option_1","_WidgetClass","default","independentEvents","_expectedChildren","isCollectionItem","validationRule","_instance","onDisposing","onInitialized","onOptionChanged","onValidated","OptionName","IsCollectionItem","PredefinedProps","element_1","NestedOption","stateChildren","getElementInfo","ElementType","Option","Fragment","PureComponent","ContentBlockRecord","ContentBlock","_ContentBlockRecord","Node","ELEMENT_NODE","SURROGATE_UNITS_REGEX","isCodeUnitInSurrogateRange","codeUnit","hasSurrogateUnit","getUTF16Length","posA","posB","UnicodeUtils","getCodePoints","codePoints","codePointAt","isSurrogatePair","strlen","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","activeFeedback","ACTIVE_EVENT_NAME","INACTIVE_EVENT_NAME","FeedbackEvent","_fire","_schedule","force","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_initEvents","eventTarget","mouseEvent","deferFeedback","skipTimers","lockInactive","lock","ignoreKeys","SEARCHBOX_CLASS","TextBox","TextEditor","_showClearButton","showClearButton","maxLength","_renderMaxLengthHandlers","_renderInputType","_renderSearchMode","_isAndroidOrIE","_input","_onKeyDownCutOffHandler","_onChangeCutOffHandler","_renderProps","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","actualMaxLength","_hasSelection","$input","_cutOffExtraChar","textInput","eventPropName","queryByOptions","storeHelper","storeImpl","_requireKey","_withLock","_loadImpl","createQuery","_totalCountImpl","extraOptions","_addFailHandlers","_byKeyImpl","_insertImpl","callbackValues","callbackKey","_updateImpl","beforePushArgs","_pushImpl","_removeImpl","registerClass","multiLevelGroup","arrayQuery","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","keepInitialKeyOrder","HOLD_EVENT_NAME","HoldEmitter","_startTimer","holdTimeout","_holdTimer","_touchWasMoved","_stopTimer","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","caption","Parser","DomHandler","defineProp","Tokenizer","DefaultHandler","FeedHandler","parseDOM","dom","parseFeed","feed","createDomStream","elementCb","EVENTS","attribute","cdatastart","cdataend","processinginstruction","comment","commentend","closetag","opentag","opentagname","TOUCH_BOUNDARY","setGestureCover","$cover","cursor","_stage","_needSkipEvent","_startEvent","_setupImmediateTimer","_immediateTimer","_immediateAccepted","_directionConfirmed","_resetActiveElement","_adjustStartEvent","touchBoundary","_getTouchBoundary","deltaX","deltaY","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","gestureCoverStrategy","gestureCover","initialTouchBoundary","newBoundary","CollectionItem","_rawData","$placeholder","_watchers","_renderWatchers","_startWatcher","_renderDisabled","_renderVisible","exprGetter","watcher","filteredCallback","forcibleWatcher","_dirty","_updateOwnerFocus","ownerComponent","SCROLLABLE_NATIVE_CLASS","VERTICAL","HORIZONTAL","NativeStrategy","scrollable","_direction","_useSimulatedScrollbar","_showScrollbar","_isLocked","_isDirection","_allowedDirection","_getScrollOffset","_getMaxOffset","_renderScrollbars","updateBounds","_scrollbars","_hideScrollbarTimeout","_renderScrollbar","Scrollbar","expandable","handleInit","handleStart","handleMove","handleEnd","handleCancel","handleStop","_eachScrollbar","scrollbar","createActions","_scrollAction","_updateAction","_createActionArgs","_eventForUserAction","reachedLeft","_isReachedLeft","reachedRight","_isReachedRight","reachedTop","reachedBottom","handleScroll","_updateRtlConfig","_moveScrollbars","moveTo","_hideScrollbars","disabledChanged","_update","_updateDimensions","_updateScrollbars","_containerSize","_componentContentSize","_contentSize","dimension","containerSize","contentSize","_allowedDirections","scrollableNativeRegexp","_removeScrollbars","scrollBy","distance","_isScrolledInMaxDirection","FORMAT_TYPES","monthRegExpGenerator","PATTERN_REGEXPS","countSuffix","M","L","Q","E","H","S","parseNumber","caseInsensitiveIndexOf","monthPatternParser","monthNames","PATTERN_PARSERS","dayNames","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hourPartValue","setHours","getSameCharCount","createPattern","getRegExpInfo","isEscaping","regexpText","stubText","patterns","addPreviousStub","regexpPart","regexp","getPatternSetters","getParser","regExpInfo","regExpResult","formatPatterns","maxPatternIndex","indexes","getMaxOrderedPatternIndex","orderedFormatPatterns","otherPatterns","getOrderedFormatPatterns","patternIndex","regExpPattern","regExpText","patternChar","partSetter","partParser","setPatternPart","setterName","setPatternPartFromNow","ERROR_URL","baseErrors","makeError","combineMessage","formatMessage","formatDetails","details","getErrorUrl","__id","__details","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tbody","colgroup","tfoot","tags","firstRootTag","tagWrapper","lastChild","TOTAL_COUNT","LOAD","BY_KEY","INSERT","UPDATE","REMOVE","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","promiseArguments","getResponseHeader","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","useDefaultSearch","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","invokeUserTotalCountFunc","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","getElementWidth","getSizeValue","TOAST_CLASS","TOAST_CLASS_PREFIX","toastTypes","TOAST_STACK","visibleToastInstance","Toast","displayTime","closeOnSwipe","closeOnClick","isAndroid","_window$visualViewpor","_device2","_window$visualViewpor2","_posStringToObject","_message","_toggleCloseEvents","verticalPosition","horizontalPosition","_hideTimeout","$notify","notify","userHiddenAction","shallowEquals","isIE","parseOptionName","mergeNameParts","_a","_b","trident","BlockMapBuilder","createFromArray","blocks","haystack","areEqualFn","foundFn","HTMLElement","experimentalTreeDataSupport","gkx","anchorBlock","anchorBlockSibling","Text","Directive","Comment","Script","Style","Tag","CDATA","Doctype","isTag","elem","_arrayLikeToArray","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","ICON_CLASS","hoveredScrollable","activeScrollable","SCROLLABLE_SIMULATED_CURSOR","SCROLLABLE_SIMULATED","SCROLLABLE_SIMULATED_KEYBOARD","SCROLLABLE_SIMULATED_CLASS","ACCELERATION","BOUNCE_FRAMES","BOUNCE_ACCELERATION_SUM","KEY_CODES","InertiaAnimator","Animator","scroller","VELOCITY_LIMIT","_isFinished","_velocity","_scrollStep","_acceleration","_inBounds","_complete","_scrollComplete","BounceAnimator","MIN_VELOCITY_LIMIT","_crossBoundOnNextStep","_bounceLocation","Scroller","_initAnimators","_initScrollbar","_location","_topReached","_bottomReached","_axis","_prop","_dimension","_scrollProp","_inertiaAnimator","_bounceAnimator","_scrollbar","_scrollByThumb","visibilityMode","_visibilityModeNormalize","_scrollbarVisible","_$scrollbar","_suppressBounce","_bounceEnabled","_boundLocation","_maxOffset","_minOffset","_getScaleRatio","_moveContent","_moveScrollbar","_moveContentByTranslator","_scaleRatio","realDimension","_getRealDimension","baseDimension","_getBaseDimension","translateOffset","_maxScrollPropValue","_translateOffset","targetLocation","_hideScrollbar","_completeDeferred","_scrollToBounds","_bounceAction","_setupBounce","bounceDistance","nextLocation","_initHandler","_stopScrolling","_prepareThumbScrolling","scrollbarClicked","_isScrollbar","_moveToMouseLocation","_thumbScrolling","_isThumb","_crossThumbScrolling","_isAnyThumbScrolling","feedbackOn","_isThumbScrollingHandler","mouseLocation","_containerToContentRatio","_startHandler","_moveHandler","_scrollBy","_scrollByHandler","containerToContentRatio","_endHandler","_inertiaHandler","_resetThumbScrolling","_suppressInertia","_inertiaEnabled","_stopHandler","_disposeHandler","_updateHandler","_moveToBounds","_resetScaleRatio","_updateLocation","_updateBounds","_updateScrollbar","_getMinOffset","baseContainerSize","baseContentSize","scaleRatio","locationChanged","_createActionsHandler","actions","scroll","bounce","isOverflowHidden","containerScrollSize","_validateEvent","_isContent","isThumb","_scrollByContent","_reachedMin","_reachedMax","_cursorEnterHandler","cursorEnter","_cursorLeaveHandler","cursorLeave","SimulatedStrategy","_createScrollers","_attachKeyboardHandler","_attachCursorHandlers","_scrollers","_createScroller","_scrollerOptions","scrollByContent","scrollByThumb","scrollbarVisible","bounceEnabled","inertiaEnabled","isAnyThumbScrolling","_applyScaleRatio","_getPropByDirection","_eventHandler","isThumbScrollingVertical","isThumbScrollingHorizontal","_suppressDirections","_prepareDirections","_eachScroller","_validDirections","_startAction","_saveActive","_resetActive","_adjustDistance","_tryGetDevicePixelRatio","_refreshCursorState","_endAction","addEventNamespace","_keyDownHandler","_updateHandlerTimeout","_scrollByLine","_scrollByPage","_scrollToHome","_scrollToEnd","lines","page","_wheelProp","_dimensionByProp","_createActionHandler","_createScrollerActions","actionHandler","scrollerX","scrollerY","_scrollOffset","deferreds","_isHoverMode","_hoverHandled","$scrollable","targetScrollable","allowedDirections","touchDirection","verticalScroller","horizontalScroller","_validateWheel","_wheelDirection","reachedMin","reachedMax","contentGreaterThanContainer","locatedNotAtBound","scrollFromMin","scrollFromMax","validated","_validateWheelTimer","Options","text_box_1","component_1","subscribableOptions","_defaults","buttons","maskChar","maskInvalidMessage","onChange","onCopy","onCut","onEnterKey","onInput","onKeyDown","onKeyUp","onPaste","placeholder","showMaskMode","spellcheck","useMaskedValue","valueChangeEvent","ExpectedChildren","TemplateProps","tmplOption","keyFn","button_1","_templateProps","cachedGetters","convertRulesToOptions","currentDevice","ruleOptions","deviceFilter","deviceMatch","getFieldName","getParentName","cachedSetters","OptionManager","optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","rulesOptions","fieldName","hasNegation","valueName","_prepareRelevantNames","normalizeOptions","_setPreparedValue","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_default","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","onRelevantNamesPrepared","_setRelevantNames","_cachedOptions","_rules","_initialOptions","_getByRules","_setByReference","normalizedName","_normalizeName","_setField","_clearField","fieldObject","previousFieldName","deprecate","_notifyDeprecated","onChanging","onChanged","initialValue","optionsObject","getNestedOptionValue","_initial","isGetter","aliasName","PostponedOperations","_postponedOperations","postponedPromise","completePromise","getEventName","actionName","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","defaultOptionsRules","applyRules","isInitial","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","_optionChanging","onDeprecated","_logDeprecatedOptionWarning","_notifyOptionChanged","onStartChange","onEndChange","addRules","onInitializing","_createOptionChangedAction","since","_logDeprecatedComponentWarning","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_initializing","_commitUpdate","callPostponedOperations","_initializeComponent","optionNames","getAliasesByName","_cancelOptionChange","actionSource","actionValue","actionFunc","hasEvent","beforeActionExecute","wrappedAction","isOptionDeprecated","isDeprecated","nativeXMLHttpRequest","getXhr","XMLHttpRequest","SUCCESS","ERROR","createScript","script","removeScript","scriptNode","appendToHead","evalScript","getRequestOptions","headers","paramsAlreadyString","upload","encodeURIComponent","paramsConvert","getMethod","parameters","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","xml","jsonp","getAcceptHeader","crossDomain","httpRequest","originAnchor","urlAnchor","protocol","host","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","loadHandler","evalCrossDomainScript","open","username","password","customStatus","setHttpTimeout","onreadystatechange","hasContent","responseType","responseText","response","getDataFromResponse","onprogress","onloadstart","onabort","xhrFields","setRequestHeader","beforeSend","send","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","MutationObserver","performance","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","FontAwesomeConfig","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","hooks","shims","functions","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","global","emit","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","settled","handleThenable","resolved","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","results","race","meaninglessTransform","rotate","flipX","flipY","insertCss","headChildren","beforeChild","nextUniqueId","htmlEscape","joinStyles","styleName","transformIsMeaningful","transformForSvg","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","ALL_SPACE","fillBlack","fill","makeInlineSvgAbstract","_params$icons","icons","main","maskId","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","role","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","noop$1","subject","thisContext","bindInternal4","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","build","lookup","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","parseTransformString","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","cx","r","asFoundIcon","vectorData","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","findIconDefinition","_iconLookup$prefix","library","definitions","Library","additions","_pullDefinitions","definition","_normalized$key","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","maybeIconDefinition","randomizeBlockMapKeys","getEndKey","blockKeys","startIndex","endIndex","chars","DraftEntityInstance","uuid","instances","instanceKey","logWarning","oldMethodCall","newMethodCall","DraftEntity","getLastCreatedEntityKey","__getLastCreatedEntityKey","mutability","__create","__add","__get","__getAll","__loadWithEntities","entities","mergeData","toMerge","__mergeData","replaceData","newData","__replaceData","newInstance","_SelectionStateRecord","serialize","selectionStart","selectionEnd","offsetToCheck","hasFocus","LTR","globalDir","isStrong","getHTMLDir","setGlobalDir","UnicodeBidiDirection","NEUTRAL","RTL","getHTMLDirIfDifferent","otherDir","initGlobalDir","getGlobalDir","getCorrectDocumentFromNode","getSelectionOffsetKeyForNode","searchNode","BACKSPACE","TAB","RETURN","ALT","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","COMMA","PERIOD","A","Z","ZERO","NUMPAD_0","NUMPAD_9","_isNodeScrollable","getScrollParent","parentWindow","getDocumentScrollElement","getUnboundedScrollPosition","documentScrollElement","Window","scrollPosition","xMax","scrollWidth","yMax","scrollHeight","superCtor","super_","TempCtor","_unsupportedIterableToArray","minLen","DEFAULT_BUTTON","DX_DIALOG_CLASSNAME","DX_DIALOG_WRAPPER_CLASSNAME","DX_DIALOG_ROOT_CLASSNAME","DX_DIALOG_CONTENT_CLASSNAME","DX_DIALOG_MESSAGE_CLASSNAME","DX_DIALOG_BUTTONS_CLASSNAME","DX_DIALOG_BUTTON_CLASSNAME","DX_BUTTON_CLASSNAME","FakeDialogComponent","lWidth","pWidth","getViewport","isMessageHtmlDefined","messageHtml","$message","popupToolbarItems","popupInstance","widthOption","$firstButton","popupOptions","getConsoleMethod","assert","_isNativeReflectConstruct","sham","Proxy","DEFAULT_CONFIG","reverseString","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","formatNumberPart","valueString","escapeIndex","isEscape","isPositive","numberFormat","signParts","getSignParts","isPercentFormat","formatString","floatPointIndex","getFloatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","minIntegerPrecision","maxIntegerPrecision","integerLength","floatPrecision","groupSizes","valueParts","valueIntegerPart","valueFloatPart","groupSize","applyGroups","integerString","floatString","parseValue","isPercent","isNegative","prepareValueText","valueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","decimalSeparatorIndex","getFormat","positiveFormat","negativeFormat","adjustValue","precisionMultiplier","roundByAbs","valuePrecision","adjustedValue","EVENT_NAME","EVENT_NAMESPACE","wheel","_wheelHandler","deltaMode","deltaZ","_normalizeDelta","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","HoverStart","HoverEnd","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","_disposeDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSourceType","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","getDataSource","initialArray","Query","getKeyWrapper","getSameNewByOld","oldItem","newIndexByKey","findChanges","oldItems","isItemEquals","oldIndexByKey","addedCount","removeCount","itemCount","newItem","oldNextIndex","nextOldItem","oldIndex","SCROLLBAR","SCROLLABLE_SCROLLBAR_CLASS","SCROLLABLE_SCROLLBAR_ACTIVE_CLASS","SCROLLBAR_VISIBLE","activeScrollbar","_isHovered","_renderThumb","_renderDirection","_attachPointerDownHandler","_$thumb","feedbackOff","_needScrollbar","_adjustVisibility","_baseContainerToContentRatio","scrollBarLocation","_calculateScrollBarPosition","_thumbRatio","_realContainerToContentRatio","thumbSize","_normalizeSize","readyCallback","_finished","_stopped","_proxiedStepCore","_stepCore","_stepAnimationFrame","_isStopped","inProgress","SCROLLABLE","SCROLLABLE_CLASS","SCROLLABLE_CONTENT_CLASS","BOTH","Scrollable","onScroll","showScrollbar","onUpdated","onStart","onEnd","onBounce","useSimulatedScrollbar","useKeyboard","updateManually","deviceDependentOptions","_setUseSimulatedScrollbar","_initScrollableMarkup","_getWindowDevicePixelRatio","_updateRtlPosition","_savedScrollOffset","_renderStrategy","_renderDisabledState","_createActions","_rtlConfig","scrollRight","_container","windowPixelRatio","_isHorizontalAndRtlEnabled","skipUpdating","_strategy","initEventData","scrollEvents","_updateIfNeed","_lock","_unlock","_createStrategy","_resetInactiveDirection","inactiveProp","_getInactiveProp","_normalizeLocation","_updateAllowedDirection","_allowedDirectionValue","scrollToElement","elementInsideContent","elementIsInsideContent","getScrollElementPosition","scrollToElementTopLeft","leftPosition","_elementPositionRelativeToContent","isVertical","elementPosition","elementSize","scrollLocation","startDistance","endDistance","_hasScrollContent","_getSpecificDataSourceOption","hasSimpleItems","_getGroupedOption","isCorrectStructure","innerItem","CHECKBOX_HAS_TEXT_CLASS","CheckBox","_renderSubmitElement","_renderValue","_renderIcon","_renderText","_$submitElement","_renderInkWave","doRender","waveIndex","_$icon","textValue","_$text","_clickHandler","indeterminate","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","AtomicBlockUtils","CompositeDraftDecorator","DefaultDraftBlockRenderMap","DefaultDraftInlineStyle","DraftEditor","DraftEditorBlock","KeyBindingUtil","RawDraftContentState","RichTextEditorUtil","convertFromDraftStateToRaw","convertFromRawToDraftState","generateRandomKey","getDefaultKeyBinding","getVisibleSelectionRect","DraftPublic","EditorBlock","CompositeDecorator","Entity","EntityInstance","Modifier","RichUtils","convertFromHTML","convertFromRaw","convertToRaw","genKey","leftPad","LDML_FORMATTERS","useUtc","period","timezoneOffset","getTimezoneOffset","signPart","timezoneOffsetAbs","hoursPart","minutesPart","X","charIndex","isCurrentCharEqualsNext","charCount","FORMAT_SEPARATORS","checkDigit","zeroCode","checkPatternContinue","isDigit","nextChar","isDigitChanged","getPatternStartIndex","defaultPattern","formatValue","ESCAPE_CHARS_REGEXP","processedIndexes","patternPositions","replacedPatterns","datePatterns","diff","patternsFilter","getDifference","letterCount","baseCharIndex","replaceCharsCore","replaceChars","escapeIndexes","isCurrentCharEscaped","isPrevCharEscaped","isNextCharEscaped","escapeChars","combineIndex","splitIndex","combinedIndex","GroupedEditStrategy","EditStrategy","_groupElements","_collectionWidget","_groupItemElements","$group","_equalKeys","_getGroups","itemMeta","groupKey","getItemMeta","selectedGroup","movingIndices","destinationIndices","movingItemGroup","destinationItemGroup","movedItemData","_isItemIndex","_getNormalizedItemIndex","_normalizeItemIndex","_denormalizeItemIndex","_getItemByNormalizedIndex","_itemsFromSameParent","firstIndex","secondIndex","registry","register","decoratorClass","decoratorsRegistry","decoratorConfig","LIST_EDIT_DECORATOR","SWIPE_START_EVENT_NAME","swipeEventStart","SWIPE_UPDATE_EVENT_NAME","swipeEventSwipe","SWIPE_END_EVENT_NAME","swipeEventEnd","EditDecorator","_shouldHandleSwipe","_attachSwipeEvent","swipeConfig","_clearSwipeCache","_itemWidthCache","_itemSwipeStartHandler","_itemSwipeUpdateHandler","_itemSwipeEndHandler","_inkRippleTimer","_swipeStartHandler","_swipeUpdateHandler","_swipeEndHandler","beforeBag","afterBag","_commonOptions","modifyElement","afterRender","handleClick","handleKeyboardEvents","handleEnterPressing","handleContextMenu","visibilityChange","getExcludedSelectors","registerDecorator","_deleteItem","POINTER_DOWN_EVENT_NAME","SWITCHABLE_DELETE_READY_CLASS","SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS","SwitchableEditDecorator","_$topShield","_$bottomShield","_$itemContentShield","_cancelDeleteReadyItem","_$readyToDeleteItem","_cancelDelete","_toggleDeleteReady","readyToDelete","_isReadyToDelete","_toggleShields","_toggleScrolling","_cacheReadyToDeleteItem","_animateToggleDelete","_updateShieldsHeight","_toggleContentShield","$list","listTopOffset","listHeight","dirtyTopShieldHeight","dirtyBottomShieldHeight","scrollView","dxScrollView","_cancelScrolling","_enablePositioning","_prepareDeleteReady","_animatePrepareDeleteReady","_forgetDeleteReady","_animateForgetDeleteReady","_disablePositioning","_getDeleteButtonContainer","_isRtlEnabled","SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS","SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS","SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS","SWITCHABLE_DELETE_BUTTON_CLASS","SwitchableButtonEditDecorator","$buttonContainer","$buttonWrapper","$buttonInnerWrapper","_$buttonContainer","listWidth","buttonWidth","_buttonWidth","fromValue","toValue","_buttonContainerWidth","$toggle","EditDecoratorMenuHelperMixin","_menuEnabled","_menuItems","_deleteEnabled","_fireMenuAction","POSITION_FLIP_MAP","WEIGHT_OF_SIDES","getEventNameByOption","attachEvent","isSelector","getEventDelay","_clearEventsTimeouts","_timeouts","EVENT_HANDLER_NAME","targetElement","detachEvent","Popover","arrowPosition","arrowOffset","_renderArrow","_detachEvents","_$arrow","_isOutsideClick","_getContainerPosition","_renderOverlayPosition","_resetOverlayPosition","_updateContentSize","contentPosition","resultLocation","_getSideByLocation","_togglePositionClass","_toggleFlippedClass","_isHorizontalSide","_isVerticalSide","_renderArrowPosition","_positionSide","containerLocation","newContainerWidth","newOverlayContentHeight","newPopupContentHeight","hOffset","vOffset","isVerticalSide","isHorizontalSide","_isPopoverInside","_getContentBorderWidth","side","isFlippedByVertical","isFlippedByHorizontal","positionClass","isFlippedHorizontal","isFlippedVertical","arrowRect","arrowFlip","arrowLocation","axis","sizeProperty","contentOffset","arrowSize","contentLocation","finalArrowLocation","fullUpdate","_getDisplaySide","weightSign","_clearEventTimeout","ActionSheet","usePopover","showCancelButton","cancelText","onCancelClick","_$itemContainer","_createItemContainer","_renderPopup","_$popup","_isPopoverMode","_createPopover","_createPopup","_renderPopupTitle","_mapPopupOption","_popup","_overlayConfig","angular","_popupContentReadyAction","_renderCancelButton","_$cancelButton","cancelClickAction","SLIDE_MENU_WRAPPER_CLASS","SLIDE_MENU_CONTENT_CLASS","SLIDE_MENU_BUTTONS_CONTAINER_CLASS","SLIDE_MENU_BUTTONS_CLASS","SLIDE_MENU_BUTTON_CLASS","_$buttonsContainer","_$buttons","_renderMenu","_renderDeleteButton","menuItems","_renderMenuButton","_fireAction","$menu","_menu","$menuButton","$deleteButton","_cachedNode","$slideMenuContent","_cacheItemData","_setPositions","_getPositions","signCorrection","isItemReadyToDelete","_getCurrentPositions","_getStartPositions","_cachedItemWidth","_cachedButtonWidth","percent","buttonsContainer","startPositions","_$cachedContent","positions","_minButtonContainerLeftOffset","endedAtReadyToDelete","_animateToPositions","durationTimePart","_renderItemPosition","itemOffset","_itemElementWidth","LIST_ITEM_BADGE_CONTAINER_CLASS","LIST_ITEM_CHEVRON_CONTAINER_CLASS","ListItem","_renderBadge","_renderShowChevron","badge","$badge","$chevron","showChevron","$chevronContainer","SCROLLVIEW_PULLDOWN_REFRESHING_CLASS","SCROLLVIEW_PULLDOWN_READY_CLASS","PullDownNativeScrollViewStrategy","_$topPocket","_$pullDown","_$bottomPocket","_$refreshingText","_$scrollViewContent","_initCallbacks","pullDownCallbacks","releaseCallbacks","reachBottomCallbacks","_renderPullDown","_releaseState","$image","$loadContainer","$loadIndicator","$text","_$pullDownText","_$pullingDownText","_$pulledDownText","_refreshPullDownText","pullDownTextItems","visibleState","_setTopPocketOffset","_topPocketSize","_bottomPocketSize","_pullDownEnabled","_setPullDownOffset","_pullDownRefreshTimeout","_pullDownRefreshing","scrollDelta","_isPullDown","_pullDownReady","_isReachBottom","_reachBottom","_stateReleased","_reachBottomEnabled","pullDownEnable","reachBottomEnable","pendingRelease","_releaseTimeout","SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS","SwipeDownNativeScrollViewStrategy","_releasePullDown","_startClientY","_deltaY","_movePullDown","pullDownHeight","_getPullDownHeight","_getPullDownStartPosition","angle","_pullDownRefreshHandler","_refreshPullDown","math","ScrollViewScroller","considerPockets","_bottomBound","_reachBottomReady","_reachBottomLoading","_releaseHandler","_releaseTask","_release","_reachBottomEnablingHandler","_pullDownEnablingHandler","_considerTopPocketChange","_pendingReleaseHandler","SimulatedScrollViewStrategy","$topPocket","$bottomPocket","$pullDown","$pullDownText","$pullingDownText","$pulledDownText","$refreshingText","SCROLLVIEW_CLASS","SCROLLVIEW_REACHBOTTOM_CLASS","refreshStrategies","pullDown","PullDownStrategy","swipeDown","SwipeDownStrategy","simulated","isServerSide","scrollViewServerConfig","finishLoading","ScrollView","pullingDownText","pulledDownText","refreshingText","reachBottomText","onPullDown","onReachBottom","refreshStrategy","_loadingIndicatorEnabled","_initContent","_initTopPocket","_initBottomPocket","_initLoadPanel","$reachBottom","_$reachBottom","_$reachBottomText","_updateReachBottomText","$loadPanelElement","loadPanelOptions","_loadPanel","LoadPanel","strategyName","strategyClass","_pullDownHandler","_reachBottomHandler","_pullDownAction","_reachBottomAction","_tryRefreshPocketState","_pullDownEnable","_reachBottomEnable","_loadingIndicator","_pullDownLoading","startLoading","preventReachBottom","toggleLoading","showOrHide","isFull","_scrollView","PRIVATE_KEY_FIELD","repaintChangesOnly","_customizeStoreLoadOptions","_correctionIndex","_refreshItemsCache","_findItemElementByKey","_isItemEquals","_modifyByChanges","item1","item2","_isItemStrictEquals","_shouldAddNewGroup","change","_partialRefresh","_itemsCache","itemCache","_updateByChange","isPartialRefresh","changedItem","_insertByChange","_change$index","_beforeItemElementInserted","_getItemContainer","_afterItemElementInserted","changeData","_updateSelectionAfterRemoveByChange","removeIndex","_removeByChange","$removedItemElement","LIST_ITEM_CLASS","LIST_ITEM_SELECTOR","LIST_GROUP_CLASS","LIST_GROUP_HEADER_CLASS","LIST_GROUP_BODY_CLASS","LIST_GROUP_COLLAPSED_CLASS","WRAP_ITEM_TEXT_CLASS","groupItemsGetter","ListBase","moveFocusPerPage","getEdgeVisibleItem","scrollToItem","isItemVisible","$nextItem","nextItemLocation","pullRefreshEnabled","useNativeScrolling","pageLoadingText","onPullRefresh","onPageLoading","pageLoadMode","nextButtonText","onItemSwipe","onGroupRendered","collapsibleGroups","groupTemplate","indicateLoading","_listAttributes","wrapItemText","_swipeEnabled","_revertPageOnEmptyLoad","showChevronExpr","badgeExpr","_updateLoadingState","_saveSelectionChangeEvent","_selectionChangeEventInstance","_getSelectionChangeEvent","_refreshItemElements","_itemElementsCache","_resetDataSourcePageIndex","currentDataSource","_initScrollView","_createGroupRenderAction","_scrollBottomMode","_nextButtonMode","scrollBottom","nextButton","_getGroupContainerByIndex","_dataSourceFromUrlLoadMode","autoPagingEnabled","_scrollHandler","_scrollBottomHandler","_createScrollViewActions","_pullRefreshAction","_pageLoadingAction","$iconContainer","tryLoadMore","isDataLoaded","scrollBottomMode","stopLoading","hideLoadIndicator","_scrollViewIsFull","_toggleNextButton","_shouldRenderNextButton","_loadIndicationSuppressed","_infiniteDataLoading","_isDataSourceFirstLoadCompleted","_isFirstLoadCompleted","_dataSourceLoadingChangedHandler","_showLoadingIndicatorTimer","_this$_scrollView","_hideLoadingIfLoadIndicationOff","_isLoadIndicationSuppressed","_loadNextPageTimer","_setPreviousPageIfNewIsEmpty","_renderGroup","_attachGroupCollapseEvent","attachGroupHeaderInkRippleEvents","_collapseGroupHandler","$groupBody","startHeight","endHeight","updateDimensions","LIST_FEEDBACK_SHOW_TIMEOUT","endEventName","_nextButtonHandler","_$nextButton","$groupElement","$groupHeaderElement","groupTemplateName","_renderingGroupIndex","_groupRenderAction","groupElement","groupData","downInkRippleHandler","upInkRippleHandler","_downInkRippleHandler","_upInkRippleHandler","downArguments","upArguments","$nextButton","_getNextButton","_createNextButton","expandGroup","collapseGroup","DataConverterMixin","CONTEXTMENU_CLASS","_renderOverlay","_$menuList","_renderMenuContent","_menuItemClickHandler","_$itemWithMenu","RADIO_BUTTON_ICON_CLASS","RadioButton","_renderCheckedState","SELECT_DECORATOR_ENABLED_CLASS","SELECT_CHECKBOX_CONTAINER_CLASS","SELECT_CHECKBOX_CLASS","SELECT_RADIO_BUTTON_CONTAINER_CLASS","SELECT_RADIO_BUTTON_CLASS","_singleStrategy","_containerClass","_controlClass","_controlWidget","$control","_isSelected","_processCheckedState","_updateSelectAllState","_$selectAll","_selectAllCheckBox","_renderSelectAll","currentFocusedIndex","moveFocusUp","moveFocusDown","$selectAll","lastItemIndex","_getLastItemIndex","downArrowHandler","_attachSelectAllHandler","_selectAllHandler","_selectAllClickHandler","isSelectedAll","_selectAllItems","_unselectAllItems","_checkSelectAllCapability","_disposeSelectAll","targetDraggable","sourceDraggable","DRAGGABLE","DRAG_EVENT_NAME","DRAGEND_EVENT_NAME","DRAG_ENTER_EVENT_NAME","dragEventEnter","DRAGEND_LEAVE_EVENT_NAME","dragEventLeave","POINTERDOWN_EVENT_NAME","CLONE_CLASS","getMousePosition","ScrollHelper","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","mousePosition","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_$scrollableAtPointer","_scrollSpeed","distanceToBorders","sensitivity","isScrollable","_calculateDistanceToBorders","_calculateScrollSpeed","areaBoundingRect","maxSpeed","scrollableInstance","nextScrollPosition","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","scrollableSize","ScrollAnimator","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","scrollByStep","Draggable","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","onDragStart","onDragMove","onDragEnd","onDragEnter","onDragLeave","onDrop","dragDirection","boundOffset","allowMoveByClick","dragTemplate","handle","autoScroll","scrollSpeed","scrollSensitivity","_scrollAnimator","_normalizeCursorOffset","_getNormalizedCursorOffset","_calculateElementOffset","elementOffset","dragElementOffset","$dragElement","dragElement","isCloned","_dragElementIsCloned","cursorOffset","normalizedCursorOffset","currentLocate","_initialLocate","initialOffset","_initPosition","_startPosition","_startAnimator","_stopAnimator","_addWidgetPrefix","componentName","_getItemsSelector","itemsSelector","targetGroup","sourceGroup","_getScrollable","isOutsideScrollable","_dragEnterHandler","_dragLeaveHandler","_$dragElement","_getDragTemplateArgs","_createDragElement","_resetDragElement","_toggleDraggingClass","_resetSourceElement","_toggleDragSourceClass","_$sourceElement","_getDraggableElement","$sourceElement","_getSourceElement","_getAction","_getEventArgs","_isValidElement","dragStartArgs","_getDragStartArgs","_setSourceDraggable","_setGestureCoverCursor","isFixedPosition","_getAreaOffset","_getBoundOffset","areaWidth","areaHeight","startOffset_left","startOffset_top","startPosition","_updateScrollable","_getTargetDraggable","allObjects","updateScrollable","fromComponent","toComponent","fromData","toData","_revertItemToInitialPosition","dragEndEventArgs","dropEventArgs","needRevertPosition","_resetTargetDraggable","_resetSourceDraggable","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","currentGroup","PLACEHOLDER_CLASS","isElementVisible","_config$to","_config$to2","Sortable","_sourceScrollHandler","_handleSourceScroll","_sourceScrollableInfo","itemOrientation","dropFeedbackMode","allowDropInsideItem","allowReordering","moveItemOnDrop","onDragChange","onAdd","onRemove","onReorder","onPlaceholderPrepared","dropInsideItem","itemPoints","fromIndexOffset","autoUpdate","draggableElementSize","_$placeholderElement","_isIndicateMode","_$modifiedItem","_modifiedItemMargin","_getPrevVisibleItem","_updateItemPoints","_subscribeToSourceScroll","_getElementIndex","_unsubscribeFromSourceScroll","sourceScrollableInfo","scrollProp","_correctItemPoints","lastItemPoint","_isVerticalOrientation","sourceElementSize","scrollSize","positionProp","lastPointPosition","freeSize","_getItems","$lastItem","marginBottom","$sortable","sortable","_isInsideTargetDraggable","$targetDraggable","getScrollableBoundary","validX","cancelAdd","cancelRemove","isSourceDraggable","isInsideTargetDraggable","_fireAddEvent","_moveItem","_fireReorderEvent","itemPoint","axisName","cursorPosition","centerPosition","_updatePlaceholderPosition","isScrolling","_movePlaceholder","_createPlaceholder","$placeholderContainer","_allowReordering","_isValidPoint","visibleIndex","draggableVisibleIndex","_getItemPoints","itemWidth","visibleItemElements","visibleItemCount","$draggableItem","needCorrectLeftPosition","needCorrectTopPosition","points","forceUpdate","positionPropName","_togglePlaceholder","_normalizeToIndex","isAnotherDraggable","placeholderElement","_makeWidthCorrection","_$scrollable","scrollableWidth","offsetRight","_updatePlaceholderSizes","$placeholderElement","$prevTargetItemElement","$targetItemElement","_moveItemCore","$targetItem","prevItem","isDragSource","$fromElement","_optionChangedDropInsideItem","_optionChangedToIndex","_isPositionVisible","scrollContainer","isVerticalOrientation","pageOffset","showPlaceholder","_moveItems","_updateDragSourceClass","_getActualFromIndex","_makeLeftCorrection","leftMargin","prevVisibleItemElement","_getDraggableElementSize","prevToIndex","prevPositions","animationConfig","prevPosition","REORDER_HANDLE_CLASS","_groupedEnabled","_lockedDrag","_sortable","_dragTemplate","_dragChangeHandler","_reorderHandler","_sameParent","$dragging","getItemElementByFlatIndex","$targetElement","editOptionsRegistry","registerOption","enabledFunc","decoratorTypeFunc","decoratorSubTypeFunc","decoratorType","decoratorSubType","EditProvider","_fetchRequiredDecorators","_decorators","_createDecorator","subType","_findDecorator","foundDecorator","modifyItemElement","_prependBeforeBags","_appendAfterBags","_applyDecorators","afterItemsRendered","$beforeBags","_collectDecoratorsMarkup","$afterBags","containerClass","$collector","_handlerExists","decorators","contextMenuHandlerExists","getExcludedItemSelectors","excludedSelectors","ListEdit","moveFocusedItem","moveUp","editStrategy","focusedItemIndex","nextItemIndex","_editProvider","privateKey","__dx_key__","showSelectionControls","selectAllMode","onSelectAllValueChanged","selectAllText","localizationMessage","menuMode","allowItemDeleting","itemDeleteMode","itemDragging","_initEditProvider","_isPageSelectAll","_disposeEditProvider","_refreshEditProvider","handledByEditProvider","_this$_editStrategy$g","focusListItem","unselectAll","getFlatIndexByItemElement","flatIndex","getItemByIndex","searchMode","searchEnabled","searchEditorOptions","_renderSearch","searchBoxClassName","rootElementClassName","_removeSearchBox","editorOptions","_getSearchEditorOptions","_searchEditor","_$searchEditorElement","userEditorOptions","searchText","inputAttr","searchTimeout","_valueChangeDeferred","_valueChangeTimeout","getOperationBySearchMode","_cleanAria","activedescendant","ListSearch","searchBoxMixin","isFocusingOnCaretChange","getCaret","setCaret","caret","isInputEventsL2Supported","isModernAndroidDevice","EMPTY_CHAR","BaseMaskRule","rawValue","_prepareHandlingArgs","_config$str","_config$start","_config$length","handlingProperty","isAccepted","adjustedCaret","isForwardDirection","_adjustedForward","_adjustedBackward","EmptyMaskRule","MaskRule","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","fullText","_isAccepted","_isValid","allowedChars","StubMaskRule","hasValueProperty","nextArgs","pointerDown","STATE_INVISIBLE_CLASS","ClearButton","_addToContainer","_isClearButtonVisible","editorName","_clearValueHandler","$editor","rendered","_legacyRender","CUSTOM_BUTTON_HOVERED_CLASS","CustomButton","_isDisabled","_prepareIntegrationOptions","isUpdated","checkNamesUniqueness","existingNames","TextEditorButtonCollection","defaultButtonsInfo","buttonInfo","isStringButton","predefinedButtonsInfo","isPredefinedButtonName","defaultButtonInfo","Ctor","buttonsInfo","$buttonsContainer","_compileButtonInfo","_createButton","buttonName","_renderButtons","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","EVENTS_LIST","CONTROL_KEYS","checkButtonsOptionType","TextEditorBase","_buttonCollection","_getDefaultButtons","_$beforeButtonsContainer","_$afterButtonsContainer","onKeyPress","displayValueFormatter","showValidationMark","_inputWrapper","_buttonsContainer","_isControlKey","_updateButtonsStyling","_renderInput","_renderPlaceholder","_refreshValueChangeEvent","_renderEvents","_renderEnterKeyAction","_renderEmptinessEvent","_$textEditorContainer","_$textEditorInputContainer","_createInput","_renderButtonContainers","_getInputContainer","_renderPendingIndicator","$inputContainer","$indicatorElement","_pendingIndicator","_disposePendingIndicator","_showValidMark","renderBeforeButtons","renderAfterButtons","_cleanButtonContainers","_this$_$beforeButtons","_this$_$afterButtonsC","clean","_applyInputAttributes","inputAttrName","customAttributes","inputAttributes","_getDefaultAttributes","defaultAttributes","autocomplete","_updateButtons","updateButtons","buttonInstance","getButton","_renderInputValue","_renderDisplayText","_toggleEmptinessEventHandler","_isValueValid","validity","valid","_toggleEmptiness","_toggleSpellcheckState","_toggleTabIndex","_readOnlyPropValue","_renderPlaceholderMarkup","_attachPlaceholderEvents","_$placeholder","placeholderText","startEvent","_placeholder","_clearValue","_refreshEvents","_keyPressHandler","isCtrlEnter","isNewValue","_renderValueChangeEvent","keyPressEvent","_renderValueEventName","keyDownEvent","_valueChangeEventHandler","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_isInput","_preventNestedFocusEvent","_isNestedTarget","_focusClassTarget","formattedValue","_enterKeyAction","_enterKeyHandlerUp","_updateValue","_setInputType","MASK_EVENT_NAMESPACE","BaseMaskStrategy","DIRECTION","FORWARD","BACKWARD","_getStrategyName","newCaret","_caret","handlerName","editorInput","getHandleEventNames","subscriptionName","getEventHandler","_attachChangeEventHandlers","editorOption","_suppressCaretChanging","_changeHandler","_showMaskPlaceholder","_adjustCaret","_maskRulesChain","_caretTimeout","editorCaret","selectedText","_maskKeyHandler","getClipboardText","_clearDragTimer","_dragTimer","_convertToValue","_keyPressHandled","pastedText","restText","accepted","_handleChain","inputVal","_inputHandlerTimer","_isAutoFill","_validateMask","keyPressHandled","_handleKey","_backspaceHandlerTimeout","DefaultMaskStrategy","_isControlKeyFired","_backspaceInputHandled","_handleBackspaceInput","_autoFillHandler","inputValue","afterBackspaceHandler","needAdjustCaret","currentCaret","_displayMask","_tryMoveCaretBackward","_backspaceHandler","InputEventsMaskStrategy","_prevCaret","setBackwardDirection","_updateEditorMask","_getEmptyString","_this$_prevCaret","_this$_prevCaret2","_this$_prevCaret3","_length","setForwardDirection","textLength","updatedCharsCount","correction","stubCaret","caretUtils","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","buildInMaskRules","isLiteralChar","isSpaceChar","C","isNumericChar","TextEditorMask","maskRules","keyHandlerMap","_maskStrategy","parentHandler","_$hiddenElement","_initMaskStrategy","_renderHiddenElement","_attachMouseWheelEventHandlers","_onMouseWheel","mouseWheelAction","_renderMask","_removeHiddenElement","detachEvents","attachEvents","_parseMask","_renderMaskedValue","_changedValue","changeEvent","_maskRules","_parseMaskRule","currentMaskChar","isEscapedChar","_getMaskRule","ruleConfig","rulePattern","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_replaceSelectedText","_shouldShowMask","submitElementValue","_getPreparedValue","handledCount","_textValue","_replaceMaskCharWithEmpty","keyHandler","_handleSelection","previousText","raiseInputEvent","runWithoutEventProcessing","_handleKeyChain","_moveCaret","emptyChars","maskRuleIndex","_typingDirection","editorSpecific","_updateHiddenElement","_updateMaskOption","_processEmptyMask","collectionWidget","resultIndex","_isNormalizedItemIndex","_isNode","_getPlainItems","DropDownButton","currentTemplate","_openHandler","_getOptions","_addTemplate","_isSameTemplate","DROP_DOWN_EDITOR_INPUT_WRAPPER","DROP_DOWN_EDITOR_OVERLAY","isIOs","DropDownEditor","$focusableElement","_getLastPopupElement","_getFirstPopupElement","close","_validatedOpening","onOpened","onClosed","opened","acceptCustomValue","applyValueMode","dropDownButtonTemplate","fieldTemplate","openOnFieldClick","showDropDownButton","dropDownOptions","popupPosition","_getDefaultPopupPosition","onPopupInitialized","applyButtonText","cancelButtonText","buttonsLocation","useHiddenSubmitElement","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_openAction","_closeAction","_popupInitializedAction","_renderOpenHandler","_attachFocusOutHandler","_renderOpenedState","_wrapInput","_setDefaultAria","haspopup","_isEditable","_getFieldTemplate","_renderField","_renderTemplatedField","_fieldRenderData","_setSubmitValue","_refreshButtonsContainer","_detachWrapperContent","$templateWrapper","_integrateInput","_attachWrapperContent","_this$_$submitElement","beforeButtonsContainerParent","afterButtonsContainerParent","_this$_$submitElement2","_refreshEmptinessEvent","dropDownButton","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_detachFocusOutEvents","popupWrapper","_executeOpenAction","_focusInput","_toggleOpenState","_resetCaretPosition","ignoreEditable","inputElement","caretPosition","_setPopupOption","expanded","_popupContentId","_renderPopupContent","popupConfig","_popupConfig","_popupShowingHandler","_popupShownHandler","_popupHidingHandler","hidden","_popupHiddenHandler","contentReady","_contentReadyHandler","_setPopupContentId","$popupContent","_popupInitializedHandler","_closeOutsideDropDownHandler","_getPopupToolbarItems","_popupPositionedHandler","popup","_getValidationMessagePositionRequest","myTop","animationPosition","popupTop","$dropDownButton","isInputClicked","isDropDownButtonClicked","_popupToolbarItemsConfig","_popupElementTabHandler","_popupElementEscHandler","_popupButtonInitializedHandler","buttonsConfig","_applyButtonHandler","_cancelButtonHandler","_applyButtonsLocation","resultConfig","_popupOptionChanged","optionsKeys","showPopupTitle","_this$_popup","__assign","DX_REMOVE_EVENT","react_dom_1","options_manager_1","templates_manager_1","templates_renderer_1","templates_store_1","widget_config_1","tree_1","utils_1","isPortalComponent","useDeferUpdateFlag","_setTemplatesRendererRef","_templatesStore","TemplatesStore","_templatesRendererRef","scheduleUpdate","_templatesManager","_optionsManager","OptionsManager","displayContentsStyle","display","_updateCssClasses","componentDidUpdate","prevProps","_getConfig","componentWillUnmount","getInitialOptions","setInstance","buildConfigTree","initialValuesProps","predefinedValuesProps","expectedChildren","_getElementProps","elementProps","elementPropNames","newProps","prevClassName","getClassName","newClassName","renderContent","portalContainer","renderPortal","createPortal","TemplatesRenderer","templatesStore","getOwnObjectValues","sanitizeDraftText","ImmutableMap","ContentStateRecord","entityMap","selectionBefore","selectionAfter","ContentBlockNodeRecord","_ContentStateRecord","getKeyBefore","getKeyAfter","getBlockAfter","getBlockBefore","getBlocksAsArray","getFirstBlock","getPlainText","hasText","createEntity","mergeEntityData","replaceEntityData","addEntity","getAllEntities","loadWithEntities","createFromBlockArray","theBlocks","contentBlocks","strings","createContentBlockFromJS","RANGE_BY_BIDI_TYPE","REGEX_STRONG","REGEX_RTL","firstStrongChar","firstStrongCharDir","strongChar","resolveBlockDir","fallback","blockDir","strongFallback","UnicodeBidi","isDirectionLTR","isDirectionRTL","section","article","blockquote","atomic","unstyled","aliasedElements","notEmptyKey","filterKey","getMutability","targetSelection","containsNode","outerNode","innerNode","_isViewportScrollElement","Scroll","getTop","setTop","newTop","getLeft","setLeft","newLeft","maxDistance","keyBefore","warning","isSoftNewlineEvent","isOSX","isCtrlKeyCommand","isOptionKeyCommand","usesMacOSHeuristics","hasCommandModifier","_isEmptyTextNode2","transformed","_convertNodeToElement2","_interopRequireDefault","__esModule","currencyPart","ToolbarItem","Show","Position","Offset","My","Item","Hide","DropDownOptions","Collision","BoundaryOffset","At","Animation","SelectBox","select_box_1","defaultOpened","minSearchLength","onCustomItemCreating","showDataBeforeSearch","useItemTextAsTitle","valueExpr","DefaultsProps","defaultHeight","defaultPosition","defaultVisible","defaultWidth","toolbarItem","LOADPANEL_INDICATOR_CLASS","LOADPANEL_MESSAGE_CLASS","showIndicator","showPane","_$loadPanelContentWrapper","_togglePaneVisible","_cleanPreviousContent","_renderLoadIndicator","_renderMessage","_clearShowTimeout","_showTimeout","check_box_1","DataExpressionMixin","_dataExpressionDefaultOptions","_initDataExpressions","_compileValueGetter","_initDynamicTemplates","_itemsToDataSource","_displayGetterExpr","_valueGetter","_valueGetterExpr","_loadValue","_unwrappedValue","_isValueEquals","_getCurrentValue","_getItemKey","value1","value2","dataSourceKey","_compareValues","_compareByCompositeKey","_compareByKey","isObjectType","unwrapObservable","valueKey1","valueKey2","_setCollectionWidgetItemTemplate","_setCollectionWidgetOption","_getCollectionKeyExpr","_dataExpressionOptionChanged","SKIP_GESTURE_EVENT_CLASS","SEARCH_MODES","DropDownList","_allowSelectItemByTab","$focusedItem","_setSelectedElement","_setValue","_setListDataSource","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateActiveDescendant","_initSelectionChangedAction","_initItemClickAction","_selectionChangedAction","_itemClickAction","_saveFocusOnWidget","_fitIntoRange","_calcNextItem","_getSelectedIndex","_updateCustomBoundaryContainer","_popupWrapperClass","customContainer","$containerWithParents","overflowY","_$customBoundaryContainer","_loadInputValue","_setSelectedItem","_loadItem","_getItemFromPlain","itemByValue","_this$_list","listFocusedItemId","isElementOnDom","_displayValue","_refreshSelected","_listItemElements","_isSelectedValue","_setFocusPolicy","normalizedSearchMode","_processDataSourceChanging","_isCustomValueAllowed","_clearFilter","_preventFiltering","_$list","_getMaxHeight","_renderList","canListHaveFocus","_canListHaveFocus","_setAriaTargetForList","_listId","_listConfig","_refreshList","_renderPreventBlur","controls","owns","_shouldRefreshDataSource","_needPassDataSourceToList","_isDesktopDevice","_templates","templateProvider","_listContentReadyHandler","_listItemClickAction","_getDataSource","dxList","_setListOption","_listItemClickHandler","_isMinSearchLengthExceeded","_needClearFilter","_canKeepDataSource","_this$_dataSource","isMinSearchLengthExceeded","_isLastMinSearchLengthExceeded","_getSearchEvent","_getSetFocusPolicyEvent","_shouldRenderSearchEvent","_searchHandler","_clearSearchTimer","_searchTimer","_searchDataSource","_searchCanceled","_filterDataSource","_dataSourceFiltered","_refreshPopupVisibility","_shouldOpenPopup","_hasItemsToShow","shouldOpenPopup","resultAmount","_updatePopupDimensions","_needPopupRepaint","currentPageIndex","needRepaint","$customBoundaryContainer","submitValue","_shouldUseDisplayValue","SELECTBOX_POPUP_WRAPPER_CLASS","clearSelectBox","_valueSubstituted","_savedTextRemoveEvent","_preventSubstitution","searchIfNeeded","_cancelSearchIfNeed","_setNextValue","_cancelEditing","isOpened","inputText","isCustomText","isSearchEnabled","customItem","allowClearing","tooltipEnabled","displayCustomValue","_initCustomItemCreatingAction","_renderTooltip","_focusListElement","_updateField","_scrollToSelectedItem","_focusSelectedElement","$listItems","_isCustomItemSelected","_renderFocusedElement","_preventInputValueRender","_renderInputValueAsync","_renderInputValueImpl","_setNextItem","hasPages","isLastItem","isUnknownItem","_getSelectionChangeHandler","_listFocusedItemChangeHandler","_selectionChangeHandler","addedItem","_getActualSearchValue","_shouldClearFilter","_restoreInputText","_wasSearch","showDataImmediately","_isValueEqualInputText","initialSelectedItem","_shouldCancelSearch","saveEditingValue","_loadItemDeferred","_clearTextValue","newSelectedItem","_isOverlayNestedTarget","isOverlayTarget","_shouldCancelSearchValue","$listFocused","_shouldCloseOnItemClick","_completeSelection","selectedItemText","_isValueChanging","_customItemAddedHandler","_customItemCreatingAction","_createCustomItem","actionResult","_setCustomItem","_wasSearchValue","_renderInputSubstitution","isAllSelected","inputHasSelection","_shouldSubstitutionBeRendered","valueLength","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","createEventEmitter","changedBits","createContext","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","Provider","_Component","getChildContext","componentWillReceiveProps","nextProps","isRequired","Consumer","_Component2","_this2","getValue","onUpdate","observedBits","_proto2","isarray","pathToRegexp","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","escaped","capture","modifier","asterisk","partial","repeat","optional","escapeGroup","encodeURIComponentPretty","flags","pretty","token","segment","attachKeys","re","sensitive","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","core","loadMessages","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","MessageChannel","channel","port1","port2","installMessageChannelImplementation","installReadyStateChangeImplementation","clearImmediate","run","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","env","argv","versions","addListener","once","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","findValueInObject","findValue","buildTemplates","buildNode","buildConfig","ValueType","optionsAccum","templatesAccum","isAnonymous","templateName","ignoreInitialValues","predefinedOptions","configs","configCollections","initialOptions","Simple","Complex","optionInfo","childCollection","capitalizeFirstLetter","DoubleKeyMap","generateID","innerMap","separateProps","classNamePropName","defaultsProps","templateProps","defaults","knownTemplates","defaultOptionName","template_1","parentExpectedChildren","reactElement","Unknown","elementDescriptor","name_1","expectation","isCollection","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","auth","unescape","Authorization","btoa","fullPath","baseURL","responseURL","responseHeaders","getAllResponseHeaders","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","onDownloadProgress","onUploadProgress","cancelToken","enhanceError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","lastRootBlock","newKeysRef","blockMapState","oldKey","nextKey","prevKey","childrenKeys","parentKey","parentChildrenList","childKey","randomizeContentBlockNodeKeys","randomizeContentBlockKeys","removeForBlock","charBefore","charAfter","entityBeforeCursor","entityAfterCursor","_getRemovalRange","characters","getRemovalRange","updatedBlocks","updatedStart","updatedEnd","targetListArg","toInsert","targetList","newBlocks","nextSiblingKey","nextNonDescendantBlock","_DraftEntityInstanceR","REGEX_BLOCK_DELIMITER","BOLD","CODE","wordWrap","ITALIC","STRIKETHROUGH","textDecoration","UNDERLINE","isElement","castedNode","childOffsetKey","DraftJsDebugLogging","getContentEditableContainer","getDraftEditorSelection","_blockSelectEvents","_latestEditorState","logBlockedSelectionEvent","anonymizedDom","stacktrace","documentSelection","updatedSelectionState","needsRecovery","logSelectionStateFailure","isHTMLElement","editorNode","editorContainer","getDraftEditorSelectionWithNodes","anchorNode","focusNode","rangeCount","findAncestorOffsetKey","getUpdatedSelectionState","nullthrows","getPointForNonTextNode","editorRoot","startNode","childOffset","firstLeaf","getFirstLeaf","nodeBeforeCursor","lastLeaf","getLastLeaf","getTextContentLength","anchorIsTextNode","TEXT_NODE","focusIsTextNode","anchorPoint","focusPoint","anchorPath","anchorBlockKey","anchorLeafBlockTree","anchorLeaf","focusPath","focusBlockKey","focusLeafBlockTree","focusLeaf","anchorLeafStart","focusLeafStart","anchorBlockOffset","focusBlockOffset","anchorLeafEnd","focusLeafEnd","_assign","_assertThisInitialized","DraftEditorTextNode","isHTMLBRElement","setDraftEditorSelection","DraftEditorLeaf","_React$Component","_setSelection","_this$props","leaf","targetNode","shouldComponentUpdate","leafNode","styleSet","endsWith","isLast","_this$props2","customStyleMap","customStyleFn","styleObj","mergedStyles","newStyles","initODS","handleExtensionCausedError","getElementRect","getViewportWidth","getViewportHeight","getViewportDimensions","withoutScrollbars","getElementPosition","getScrollPosition","isBlockOnSelectionEdge","tree","preventScroll","blockNode","_node","scrollParent","nodePosition","_renderChildren","lastLeafSet","hasSelection","leafSet","leavesForLeafSet","leaves","jj","DecoratorComponent","getComponentForKey","decoratorProps","getPropsForKey","decoratorOffsetKey","decoratedText","commonProps","_this3","PhotosMimeType","createArrayFromMixed","emptyFunction","CR_LF_REGEX","RICH_TEXT_TYPES","getFileFromDataTransfer","kind","getAsFile","DataTransfer","isRichText","getHTML","isImage","isLink","getLink","getFiles","getCount","mozItemCount","files","thatReturnsArgument","hasFiles","makeEmptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","TEXT_CLIPPING_REGEX","TEXT_TYPES","readCount","file","FileReader","_contents","reader","onload","readAsText","readFile","moveSelectionBackward","removeTextWithStrategy","strategyState","charBehind","getRangeClientRects","tempRange","cloneRange","clientRects","ancestor","endContainer","atCommonAncestor","commonAncestorContainer","setStart","startContainer","rects","setEndBefore","WHITESPACE_AND_PUNCTUATION","getPunctuation","DELETE_REGEX","BACKSPACE_REGEX","getRemovableWord","DraftRemovableWord","getBackward","getForward","_knownListItemDepthCl","URI","getSafeBodyFromHTML","isHTMLAnchorElement","isHTMLImageElement","REGEX_CR","REGEX_LF","REGEX_LEADING_LF","REGEX_NBSP","REGEX_CARRIAGE","REGEX_ZWS","boldValues","notBoldValues","anchorAttr","imgAttr","knownListItemDepthClasses","HTMLTagToRawInlineStyleMap","em","strike","strong","u","buildBlockTypeMap","blockRenderMap","blockTypeMap","detectInlineStyle","getListItemDepth","depthClass","isValidAnchor","isValidImage","imageNode","getNamedItem","styleFromNodeAttributes","htmlElement","isListNode","ContentBlocksBuilder","disambiguate","blockConfigs","currentBlockType","currentEntity","currentText","addDOMNode","_this$blockConfigs","_toBlockConfigs","_trimCurrentText","_makeBlockConfig","getContentBlocks","_toContentBlocks","_toFlatContentBlocks","childConfigs","wasCurrentDepth","wasWrapper","_addImgNode","_addAnchorNode","newStyle","_addBreakNode","_addTextNode","_wasCurrentDepth","_wasWrapper","_appendText","_this$characterList","characterMetadata","trimLeft","trimRight","image","entityConfig","imageAttribute","anchor","anchorAttribute","_hoistContainersInBlockConfigs","blockConfig","_this2$_extractTextFr","_extractTextFromBlockConfigs","DOMBuilder","safeBody","isOldIE","implementation","createHTMLDocument","adjustBlockDepthForContentState","currentBlockContainsLink","getCurrentBlockType","getDataObjectForLinkURL","uri","handleKeyCommand","command","eventTimeStamp","toggleInlineStyle","toggleCode","onBackspace","onDelete","insertSoftNewline","newEditorState","blockBefore","withoutAtomicBlock","withoutBlockStyle","tryToRemoveBlockStyle","blockAfter","atomicBlockTarget","onTab","maxDepth","withAdjustment","toggleBlockType","typeToSet","currentStyle","toggleLink","withoutLink","Keys","shouldFixFirefoxMovement","shouldRemoveWord","getZCommand","getDeleteCommand","getBackspaceCommand","DraftStringKey","unstringify","_elementTypes2","_elementTypes","formTags","optgroup","datalist","textarea","openImpliesClose","li","h1","h2","h3","h4","h5","h6","output","voidElements","basefont","embed","img","isindex","keygen","meta","param","track","wbr","foreignContextElements","svg","htmlIntegrationElements","mo","mtext","foreignObject","re_nameEnd","cbs","_cbs","_tagname","_attribname","_attribvalue","_attribs","_foreignContext","_lowerCaseTagNames","lowerCaseTags","xmlMode","_lowerCaseAttributeNames","lowerCaseAttributeNames","_tokenizer","onparserinit","EventEmitter","_sectionStart","getAbsoluteIndex","ontext","onopentagname","onclosetag","onopentag","onopentagend","_closeCurrentTag","onselfclosingtag","recognizeSelfClosing","onattribname","onattribdata","onattribend","onattribute","_getInstructionName","ondeclaration","onprocessinginstruction","oncomment","oncommentend","oncdata","recognizeCDATA","oncdatastart","oncdataend","onend","onreset","parseComplete","write","chunk","pause","resume","parseChunk","decodeCodePoint","legacyMap","xmlMap","TEXT","BEFORE_TAG_NAME","IN_TAG_NAME","IN_SELF_CLOSING_TAG","BEFORE_CLOSING_TAG_NAME","IN_CLOSING_TAG_NAME","AFTER_CLOSING_TAG_NAME","BEFORE_ATTRIBUTE_NAME","IN_ATTRIBUTE_NAME","AFTER_ATTRIBUTE_NAME","BEFORE_ATTRIBUTE_VALUE","IN_ATTRIBUTE_VALUE_DQ","IN_ATTRIBUTE_VALUE_SQ","IN_ATTRIBUTE_VALUE_NQ","BEFORE_DECLARATION","IN_DECLARATION","IN_PROCESSING_INSTRUCTION","BEFORE_COMMENT","IN_COMMENT","AFTER_COMMENT_1","AFTER_COMMENT_2","BEFORE_CDATA_1","BEFORE_CDATA_2","BEFORE_CDATA_3","BEFORE_CDATA_4","BEFORE_CDATA_5","BEFORE_CDATA_6","IN_CDATA","AFTER_CDATA_1","AFTER_CDATA_2","BEFORE_SPECIAL","BEFORE_SPECIAL_END","BEFORE_SCRIPT_1","BEFORE_SCRIPT_2","BEFORE_SCRIPT_3","BEFORE_SCRIPT_4","BEFORE_SCRIPT_5","AFTER_SCRIPT_1","AFTER_SCRIPT_2","AFTER_SCRIPT_3","AFTER_SCRIPT_4","AFTER_SCRIPT_5","BEFORE_STYLE_1","BEFORE_STYLE_2","BEFORE_STYLE_3","BEFORE_STYLE_4","AFTER_STYLE_1","AFTER_STYLE_2","AFTER_STYLE_3","AFTER_STYLE_4","BEFORE_ENTITY","BEFORE_NUMERIC_ENTITY","IN_NAMED_ENTITY","IN_NUMERIC_ENTITY","IN_HEX_ENTITY","SPECIAL_NONE","SPECIAL_SCRIPT","SPECIAL_STYLE","whitespace","ifElseState","upper","FAILURE","lower","_index","consumeSpecialNameChar","NEXT_STATE","_buffer","_bufferOffset","_baseState","_special","_running","_ended","_xmlMode","_decodeEntities","decodeEntities","_stateText","_getSection","_stateBeforeTagName","_stateInTagName","_emitToken","_stateBeforeCloseingTagName","_stateInCloseingTagName","_stateAfterCloseingTagName","_stateBeforeAttributeName","_stateInSelfClosingTag","_stateInAttributeName","_stateAfterAttributeName","_stateBeforeAttributeValue","_stateInAttributeValueDoubleQuotes","_stateInAttributeValueSingleQuotes","_stateInAttributeValueNoQuotes","_stateBeforeDeclaration","_stateInDeclaration","_stateInProcessingInstruction","_stateBeforeComment","_stateInComment","_stateAfterComment1","_stateAfterComment2","_stateBeforeCdata1","_stateBeforeCdata2","_stateBeforeCdata3","_stateBeforeCdata4","_stateBeforeCdata5","_stateBeforeCdata6","_stateInCdata","_stateAfterCdata1","_stateAfterCdata2","_stateBeforeSpecial","_stateBeforeSpecialEnd","_stateBeforeScript1","_stateBeforeScript2","_stateBeforeScript3","_stateBeforeScript4","_stateBeforeScript5","_stateAfterScript1","_stateAfterScript2","_stateAfterScript3","_stateAfterScript4","_stateAfterScript5","_stateBeforeStyle1","_stateBeforeStyle2","_stateBeforeStyle3","_stateBeforeStyle4","_stateAfterStyle1","_stateAfterStyle2","_stateAfterStyle3","_stateAfterStyle4","_stateBeforeEntity","_stateBeforeNumericEntity","_parseNamedEntityStrict","_emitPartial","_parseLegacyEntity","limit","_stateInNamedEntity","_decodeNumericEntity","sectionStart","_stateInNumericEntity","_stateInHexEntity","_parse","_finish","_handleTrailingData","re_whitespace","NodePrototype","ElementPrototype","elementCB","defaultOpts","_callback","_elementCB","_done","_tagStack","_parser","normalizeWhitespace","withStartIndices","withEndIndices","_handleCallback","_createDomElement","properties","withDomLvl1","_addDomElement","attribs","lastTag","ignoreWhitespace","nodeTypes","domLvl1","cdata","shorthand","DomUtils","ext","__importDefault","mod","decodeHTML","decodeHTMLStrict","decodeXML","entities_json_1","legacy_json_1","xml_json_1","decode_codepoint_1","strictEntityRe","getStrictDecoder","getReplacer","sorter","secondChar","legacy","replacer","escapeUTF8","encodeNonAsciiHTML","encodeHTML","encodeXML","inverseXML","getInverseObj","xmlReplacer","getInverseReplacer","getASCIIEncoder","inverseHTML","htmlReplacer","single","multiple","reNonASCII","singleCharReplacer","getCodePoint","reEscapeChars","Stream","WritableStream","Writable","StringDecoder","Buffer","decoder","_decoder","decodeStrings","_write","encoding","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","Uint8Array","encodingOrOffset","allocUnsafe","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","isEncoding","fromString","copy","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","ret","toHex","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","_htmlAttributesToReact2","_inlineStyleToObject2","nameCache","VALID_TAG_REGEX","_react2","_propTypes2","_classnames2","ANIMATION_STATE_CLASSES","animating","animatingUp","animatingDown","animatingToHeightZero","animatingToHeightAuto","animatingToHeightSpecific","staticHeightZero","staticHeightAuto","staticHeightSpecific","PROPS_TO_OMIT","omit","objectKeys","cancelAnimationFrames","requestAnimationFrameIDs","isPercentage","runCallback","AnimateHeight","animationFrameIDs","animationStateClasses","getStaticStateClasses","shouldUseTransitions","contentElement","hideContent","prevState","onAnimationEnd","onAnimationStart","_cx","showContent","totalDuration","newHeight","timeoutState","isCurrentHeightAuto","timeoutAnimationStateClasses","timeoutID","animationClassesTimeoutID","startAnimationHelper","_cx2","_cx3","_props2","animateOpacity","applyInlineTransitions","contentClassName","componentStyle","WebkitTransition","contentStyle","componentClasses","ariaHidden","any","decodeURIComponent","expires","toUTCString","cookie","getJSON","withConverter","resetWarningCache","arrayOf","elementType","instanceOf","objectOf","shape","exact","checkPropTypes","toStringTag","Cookies","OPTIONS","SAME_SITE_OPTIONS","VISIBLE_OPTIONS","B","getCookieConsentValue","resetCookieConsentValue","TOP","BOTTOM","NONE","STRICT","LAX","HIDDEN","SHOW","BY_COOKIE_VALUE","T","acceptOnScrollPercentage","accept","acceptOnScroll","alignItems","background","color","flexWrap","justifyContent","buttonStyle","borderRadius","boxShadow","declineButtonStyle","overlayStyle","backgroundColor","debug","getCookieValue","removeScrollListener","cookieName","cookieValue","hideOnAccept","onAccept","setCookie","declineCookieValue","hideOnDecline","onDecline","setDeclineCookie","extraCookieOptions","sameSite","cookieSecurity","secure","disableStyles","buttonText","declineButtonText","containerClasses","contentClasses","buttonClasses","buttonWrapperClasses","declineButtonClasses","buttonId","declineButtonId","disableButtonStyles","enableDeclineButton","flipButtons","ButtonComponent","overlay","overlayClasses","ariaAcceptLabel","D","ariaDeclineLabel","I","N","R","decline","load_panel_1","FileUploader","file_uploader_1","abortUpload","allowCanceling","allowedFileExtensions","chunkSize","invalidFileExtensionMessage","invalidMaxFileSizeMessage","invalidMinFileSizeMessage","labelText","maxFileSize","minFileSize","onBeforeSend","onDropZoneEnter","onDropZoneLeave","onFilesUploaded","onProgress","onUploadAborted","onUploaded","onUploadError","onUploadStarted","progress","readyToUploadMessage","selectButtonText","showFileList","uploadAbortedMessage","uploadButtonText","uploadChunk","uploadedMessage","uploadFailedMessage","uploadFile","uploadMethod","uploadMode","uploadUrl","popup_1","getModifierState","SUPERSCRIPT","SUBSCRIPT","bgcolor","inlines","ins","sup","textAlign","HTMLAnchorElement","dataset","mention","targetOption","HTMLImageElement","alignment","HTMLVideoElement","HTMLIFrameElement","fuzzyLink","fuzzyEmail","fuzzyIP","http","src_auth","src_host_port_strict","src_path","no_http","src_domain","src_domain_root","src_port","src_host_terminator","mailto","src_email_name","src_host_strict","__opts__","__tlds__","src_tlds","onCompile","__tlds_replaced__","src_xn","email_fuzzy","tpl_email_fuzzy","link_fuzzy","tpl_link_fuzzy","link_no_ip_fuzzy","tpl_link_no_ip_fuzzy","host_fuzzy_test","tpl_host_fuzzy_test","__compiled__","__schemas__","schema_test","src_ZPCc","schema_search","pretest","__index__","__text_cache__","__last_index__","schema","__schema__","testSchemaAt","tlds","bigint","src_Any","src_Cc","src_Z","src_P","src_ZCc","src_pseudo_letter","src_ip4","src_host","tpl_host_fuzzy","tpl_host_no_ip_fuzzy","tpl_host_fuzzy_strict","tpl_host_port_fuzzy_strict","tpl_host_port_no_ip_fuzzy_strict","callBacks","suggestionCallback","editorFlag","suggestionFlag","closeAllModals","getElementById","onEditorClick","closeModals","registerCallBack","deregisterCallBack","setSuggestionCallback","removeSuggestionCallback","onSuggestionClick","inputFocused","editorMouseDown","onEditorMouseDown","editorFocused","onInputMouseDown","isEditorBlur","isEditorFocused","isToolbarFocused","isInputFocused","activeClassName","U","F","Y","highlighted","toggleExpansion","setHighlighted","doExpand","doCollapse","optionWrapperClassName","ariaLabel","onExpandEvent","onSelect","W","G","J","V","q","K","resetHighlighted","disabledClassName","highlightedClassName","onMouseEnter","onMouseLeave","nt","ot","currentState","translations","dropdownClassName","inDropdown","renderInDropDown","renderInFlatList","rt","ct","st","signalExpanded","expandCollapse","changeKeys","modalHandler","currentStyles","getSelectionInlineStyle","ut","dt","ft","yt","getBlockTypes","blockTypes","renderInDropdown","renderFlat","gt","bt","ht","Mt","jt","vt","Nt","blocksTypes","getSelectedBlocksType","Et","St","wt","Ct","Lt","Dt","kt","defaultFontSize","getElementsByClassName","getPropertyValue","Ot","xt","It","Tt","zt","toggleFontSize","toggleCustomInlineStyle","currentFontSize","getSelectionCustomInlineStyle","FONTSIZE","_t","Pt","Rt","Ut","Bt","Ft","defaultFontFamily","Yt","Qt","Ht","Zt","Wt","Gt","Jt","toggleFontFamily","currentFontFamily","FONTFAMILY","Vt","qt","Kt","Xt","$t","indent","outdent","listType","indentDisabled","outdentDisabled","unordered","oe","ie","adjustDepth","changeDepth","isIndentDisabled","currentBlock","getBlockBeforeSelectedBlock","isListBlock","isOutdentDisabled","getSelectedBlock","ae","le","ue","pe","justify","textAlignment","fe","ye","me","ge","addBlockAlignmentData","currentTextAlignment","getSelectedBlocksMetadata","Me","je","ve","Ne","Ee","Se","setCurrentStyleColor","setCurrentStyleBgcolor","renderModal","popupClassName","colors","bgColor","we","Ce","Le","De","ke","Oe","xe","currentColor","currentBgColor","toggleColor","COLOR","BGCOLOR","Ie","Te","Ae","ze","Pe","Re","Ue","Be","showModal","linkTarget","linkTitle","linkTargetOption","defaultTargetOption","removeLink","addLink","updateValue","updateTargetOption","hideModal","signalExpandShowModal","selectionText","forceExpandAndShowModal","htmlFor","onBlur","defaultChecked","unlink","renderAddLinkModal","Fe","Ye","Qe","He","Ze","We","Ge","Je","Ve","qe","Ke","Xe","linkCallback","getCurrentValues","getEntityRange","getSelectionText","getSelectionEntity","$e","tn","cn","embeddedLink","defaultSize","rendeEmbeddedLinkModal","an","un","pn","dn","addEmbeddedLink","embedCallback","insertAtomicBlock","yn","gn","hn","Mn","jn","emojis","renderEmojiModal","vn","Nn","En","Sn","wn","Cn","Ln","addEmoji","onCollpase","closeModal","Dn","On","xn","In","Tn","An","imgSrc","uploadHighlighted","uploadEnabled","uploadCallback","showImageLoading","onImageDrop","dataTransfer","uploadImage","showImageUploadOption","addImageFromState","showImageURLOption","toggleShowImageLoading","selectImage","fileUpload","fileUploadClick","urlEnabled","previewImage","inputAccept","onDragOver","present","mandatory","renderAddImageModal","zn","Pn","Rn","Un","Bn","Fn","addImage","Yn","Qn","Hn","Zn","Wn","Gn","Jn","Vn","qn","removeInlineStyles","removeAllInlineStyles","Kn","Xn","$n","undoDisabled","redoDisabled","oo","io","co","ao","inline","colorPicker","embedded","emoji","uo","po","ho","Mo","jo","showOpenOptionOnHover","showPopOver","openLink","toggleShowPopOver","vo","Eo","getMentionComponent","getMentionDecorator","findMentionEntities","So","Co","Lo","Do","Oo","xo","Io","findSuggestionEntities","getEditorState","getSuggestions","getSuggestionComponent","activeOption","showSuggestions","onEditorKeyDown","filteredSuggestions","addMention","onOptionMouseEnter","onOptionMouseLeave","setSuggestionReference","suggestion","setDropdownReference","dropdown","closeSuggestionDropdown","filterSuggestions","getWrapperRef","optionClassName","contentEditable","suppressContentEditableWarning","spellCheck","getSuggestionDecorator","To","mentionClassName","Ao","zo","_o","frameBorder","allowFullScreen","Po","getHashtagComponent","findHashtagEntities","hashCharacter","getHashtagDecorator","Ro","Uo","Bo","Fo","Yo","Qo","Ho","Zo","hovered","setEntityAlignmentLeft","setEntityAlignment","setEntityAlignmentRight","setEntityAlignmentCenter","dummy","toggleHovered","isImageAlignmentEnabled","renderAlignmentOptions","Wo","Go","bold","italic","underline","strikethrough","monospace","superscript","subscript","alignmentEnabled","Jo","zh_tw","Vo","qo","Ko","Xo","$o","er","nr","rr","ir","cr","onEditorBlur","onEditorFocus","onFocus","focusHandler","keyBindingFn","onToolbarFocus","onWrapperBlur","onEditorStateChange","wrapperId","afterChange","setWrapperReference","setEditorReference","editorRef","getCompositeDecorator","customDecorators","hashtag","suggestions","onContentStateChange","createEditorState","defaultEditorState","defaultContentState","initialContentState","filterEditorProps","getStyleMap","getCustomStyleMap","changeEditorState","focusEditor","handleReturn","handleNewLine","handlePastedTextFn","handlePastedText","stripPastedStyles","blockRendererFn","customBlockRenderFunc","editorProps","compositeDecorator","extractInlineStyle","localization","toolbarCustomButtons","toolbarOnFocus","toolbarClassName","toolbarHidden","editorClassName","wrapperClassName","toolbarStyle","editorStyle","wrapperStyle","onMouseDown","blockStyleFn","ariaOwneeID","ariaActiveDescendantID","ariaAutoComplete","ariaDescribedBy","ariaExpanded","ariaHasPopup","isEmptyString","blockTypesMapping","getBlockTag","getBlockStyle","getHashtagRanges","blockText","hashtagConfig","sections","counter","getSections","lastOffset","sectionRanges","entityRanges","s1","s2","isAtomicEntityBlock","getStyleArrayForBlock","inlineStyleRanges","inlineStyles","getStylesAtOffset","sameStyleAsPrevious","sameStyled","addInlineStyleMarkup","getSectionText","ch","addStylePropertyMarkup","getEntityMarkup","customEntityTransform","getInlineStyleSections","styleSections","trimLeadingZeros","sectionText","replacedText","trimTrailingZeros","getStyleTagSectionMarkup","styleSection","getInlineStyleSectionMarkup","styleTagSections","styleSectionText","stylePropertySection","getSectionMarkup","entityInlineMarkup","getBlockInnerMarkup","blockMarkup","getBlockMarkup","directional","blockHtml","blockTag","blockStyle","getListMarkup","listBlocks","previousBlock","listHtml","nestedListBlock","nestedBlock","draftToHtml","editorContent","htmlparser2","convertNodeToElement","processNodes","_processNodes","_convertNodeToElement","_htmlparser","_HtmlParser2","ReCAPTCHA","handleExpired","handleErrored","handleChange","handleRecaptchaRef","grecaptcha","_widgetId","getResponse","getWidgetId","_executeRequested","executionResolve","executionReject","onExpired","onErrored","explicitRender","sitekey","tabindex","stoken","hl","captcha","delayOfCaptchaIframeRemoving","temporaryNode","childProps","SCRIPT_MAP","idCount","makeAsyncScriptLoader","getScriptURL","recaptchaOptions","useRecaptchaNet","globalName","WrappedComponent","wrappedComponentName","AsyncScriptLoader","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","loaded","obsKey","observers","scriptURL","scriptId","errored","callObserverFuncAndRemoveObserver","observersMap","removeOnUnmount","allScripts","ForwardedComponent","forwardRef","hoistStatics","RecaptchaWrapper","StrictMode","Profiler","Suspense","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","isReactComponent","isPureReactComponent","__self","__source","$$typeof","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","only","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","isValidElement","lazy","_payload","memo","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","aa","ba","ea","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","oa","qa","ma","na","la","setAttributeNS","xlinkHref","ra","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","Ra","Sa","Ta","Va","_valueTracker","setValue","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","controlled","$a","ab","bb","eb","db","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","mb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","pb","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","ub","menuitem","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","dd","unstable_UserBlockingPriority","ed","fd","hd","uc","jd","kd","ld","md","od","pd","qd","rd","_reactName","_targetInst","cancelBubble","persist","isPersistent","wd","xd","yd","eventPhase","bubbles","isTrusted","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","zd","fromElement","toElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","Vd","targetTouches","Xd","Zd","wheelDeltaX","wheelDeltaY","wheelDelta","$d","documentMode","datetime","tel","week","oninput","contentWindow","Yb","bf","cf","df","Nb","ef","gf","hf","jf","kf","lf","mf","autoFocus","nf","__html","pf","qf","rf","sf","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","eg","fg","gg","hg","jg","kg","ng","og","pg","qg","rg","childLanes","dependencies","firstContext","lanes","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","wh","yh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","gi","ji","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","qi","ri","pendingContext","Bi","Di","Ei","retryLane","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","wi","xi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","onclick","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","bk","dk","focusedElem","selectionRange","ek","createRange","addRange","setEnd","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","hk","unstable_observedBits","unmount","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","supportsFiber","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","ReactPropTypesSecret","emptyFunctionWithReset","propFullName","secret","getShim","ReactPropTypes","argType","jsx","jsxs","scope","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","comparer_1","helpers_1","templatesManager","guards","isUpdating","wrapOptionValue","currentConfig","rootNode","templatesCount","getChanges","removedOptions","valueDescriptor","callOptionChangeHandler","setGuard","valuesAreEqual","valuesAreEqualObjects","isOptionSubscribable","isIndependentEvent","guardId","changesAccum","addRemovedValues","currentCollection","prevCollection","updatedCollection_1","compareCollections","currentTemplatesOptions","currentTemplates","prevTemplatesOptions","prevTemplates","prevTemplate","compareTemplates","currentOptions","prevOptions","appendRemovedValues","config_1","dx_template_1","normalizeProps","getOption","dxkey","contentCreators","contentGetter","TemplatesManager","_templatesContent","contentCreator","createDxTemplate","useLegacyTemplateEngine","template_wrapper_1","createContentProvider","renderedTemplates","prevTemplateId","contentProvider","TemplateWrapper","onRemoved","ReactDOM","removalListenerStyle","_removalListenerRef","removalListenerRequired","_onDxRemove","getPreviousSiblingNode","_subscribeOnRemove","hiddenNode","hiddenElement","_listenerElement","_subscribeOnElementRemoval","removalListener","frame_1","common_1","updateScheduled","mounted","useDeferUpdate","renderWrappers","onTemplateAdded","_onTemplateAdded","templateFunc","processChildren","templates_1","parentFullName","hasTranscludedContent","collectionItem","createConfigNode","configNode","getNamedTemplate","separatedValues","childrenData","templateMeta","getAnonymousTemplate","widgetDescriptor","findProps","requiredPropsCheck","Axios","mergeConfig","createInstance","axios","instanceConfig","CancelToken","isCancel","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","interceptor","getUri","use","eject","transformData","throwIfCancellationRequested","throwIfRequested","fns","description","fileName","lineNumber","columnNumber","domain","toGMTString","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","line","originURL","urlParsingNode","resolveURL","hostname","port","requestURL","resolvePromise","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","moveBlockInContentState","afterSplit","insertionTarget","asAtomicBlock","charData","atomicBlockConfig","atomicDividerBlockConfig","fragmentArray","withAtomicBlock","moveAtomicBlock","atomicBlock","insertionMode","withMovedAtomicBlock","targetBlock","selectionAfterRemoval","_targetBlock","selectionAfterSplit","_targetBlock2","modifyInlineStyle","addOrRemove","sliceStart","sliceEnd","applyEntityToContentBlock","contentBlock","startArg","DraftEntitySegments","getRangesForDraftEntity","getEntityRemovalRange","isEntireSelectionWithinEntity","isEntityAtStart","sideToConsider","entityRange","newSelectionState","startSelectionState","endSelectionState","_startSelectionState","_endSelectionState","entityStart","segments","segmentEnd","segmentStart","removalStart","removalEnd","entityEnd","atStart","atEnd","ranges","insertIntoList","updateExistingBlock","fragmentBlock","targetKey","finalKey","finalOffset","newBlock","insertFragment","isTreeBasedBlockMap","newBlockArr","fragmentSize","shouldNotUpdateFromFragmentBlock","headText","headCharacters","updateHead","blockSize","tailText","tailCharacters","prependToTail","updateTail","updatedBlockMap","originalBlockMap","fragmentHeadBlock","headKey","targetNextKey","targetParentKey","fragmentRootBlocks","rootBlock","rootBlocks","lastSiblingKey","getRootBlocks","lastRootFragmentBlockKey","originalTargetParentChildKeys","insertionIndex","newChildrenKeysArray","updateBlockMapLinks","fragmentBlockMap","newOffset","getNextDelimiterBlockKey","transformBlock","getAncestorsKeys","getNextValidSibling","nextValidSiblingKey","getPrevValidSibling","prevValidSiblingKey","nextDelimiters","nextDelimiter","_block","getNextDelimitersBlockKeys","delimiterKey","prevSiblingKey","newParentKey","newParent","removeFromList","isExperimentalTreeBlock","parentAncestors","endBlockchildrenKeys","endBlockAncestors","modifiedStart","blockToSplit","keyBelow","blockAbove","blockBelow","blocksBefore","blocksAfter","originalBlock","belowBlock","originalBlockKey","belowBlockKey","newChildrenArray","LeafRange","DecoratorRange","leafSets","decorations","areEqual","generateLeaves","bidiService","UnicodeBidiService","prevBidiMap","nextBidi","bidiMap","defaultDir","_defaultDir","_lastDir","originalBlockToBeMoved","originalTargetBlock","isInsertedAfterTarget","originalTargetKey","originalParentKey","originalNextSiblingKey","originalPrevSiblingKey","newNextSiblingKey","newPrevSiblingKey","newParentChildrenList","targetBlockIndex","blockToBeMoved","blocksToBeMoved","blockMapWithoutBlocksToBeMoved","nextDelimiterBlockKey","isBlockToBeMoved","hasNextSiblingAndIsNotNextSibling","doesNotHaveNextSiblingAndIsNotDelimiter","slicedBlocks","canOccupySlice","targetArr","componentKey","occupySlice","DraftEditorCompositionHandler","DraftEditorContents","DraftEditorDragHandler","DraftEditorEditHandler","flushControlled","DraftEditorPlaceholder","DraftEffects","allowSpellCheck","handlerMap","edit","composite","drag","cut","didInitODS","UpdateDraftEditorFlags","_React$Component2","alreadyHasFocus","editHandler","setMode","contentsKey","_clipboard","_dragCount","exitCurrentMode","_editorKey","editorKey","_placeholderAccessibilityID","_latestCommittedEditorState","_onBeforeInput","_buildHandler","_onBlur","_onCharacterData","_onCompositionEnd","_onCompositionStart","_onCopy","_onCut","_onDragEnd","_onDragOver","_onDragStart","_onDrop","_onInput","_onFocus","_onKeyDown","_onKeyPress","_onKeyUp","_onMouseDown","_onMouseUp","_onPaste","_onSelect","getEditorKey","_showPlaceholder","placeHolderProps","accessibilityID","_renderARIADescribedBy","describedBy","placeholderID","textDirectionality","rootClass","ariaRole","editorContentsProps","_handleEditorContainerRef","ariaControls","ariaLabelledBy","ariaMultiline","autoCapitalize","autoComplete","autoCorrect","notranslate","webDriverTestID","onBeforeInput","onCompositionEnd","onCompositionStart","onMouseUp","outline","userSelect","WebkitUserSelect","execCommand","DOMObserver","editOnSelect","getEntityKeyForSelection","stillComposing","domObserver","startDOMObserver","resolveComposition","_editor","mutations","stopAndFlushMutations","composedChars","_DraftOffsetKey$decod","_editorState$getBlock","replacementRange","compositionEndSelectionState","restoreEditorDOM","editorStateWithUpdatedSelection","getWindowForNode","DOM_OBSERVER_OPTIONS","subtree","characterData","childList","characterDataOldValue","USE_CHAR_DATA","containerWindow","registerMutations","onCharData","registerMutation","observe","takeRecords","disconnect","getMutationTextContent","mutation","removedNodes","UAParser","UNKNOWN","PLATFORM_MAP","getResult","browserVersionData","major","minor","getBrowserVersion","uaData","cpu","architecture","browserMinorVersion","platformVersion","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MODEL","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SONY","XIAOMI","ZEBRA","FACEBOOK","enumerize","enums","str1","str2","lowerize","rgxMapper","arrays","strMapper","windowsVersionMap","regexes","CHROME","EDGE","extensions","_ua","_rgxmap","mergedRegexes","getBrowser","_browser","getCPU","_cpu","getDevice","getEngine","_engine","getOS","_os","getUA","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","Zepto","__webpack_amd_options__","componentRegex","orRegex","rangeRegex","modifierRegex","numericRegex","checkOrExpression","expressions","checkSimpleExpression","startVersion","endVersion","isSimpleVersion","checkRangeExpression","versionComponents","_getModifierAndCompon","getModifierAndComponents","rangeComponents","checkLessThan","compareComponents","checkLessThanOrEqual","checkGreaterThanOrEqual","checkApproximateVersion","checkEqual","zeroPad","compareNumeric","aPrefix","bPrefix","aNumeric","bNumeric","_normalizeVersions","normalizeVersions","aNormalized","bNormalized","DraftEditorBlockNode","DraftEditorContentsExperimental","prevEditorState","nextEditorState","nextNativeContent","wasComposing","nowComposing","prevContent","nextContent","prevDecorator","nextDecorator","processedBlocks","nodeBlock","blockProps","wrapperTemplate","nextBlockKey","outputBlocks","wrapperElement","DraftEditorNode","getDraftRenderConfig","configForType","getCustomRenderConfig","customRenderer","CustomComponent","customProps","customEditable","getElementPropsConfig","customConfig","customClass","isContainerNode","blockHasChanged","wrapperRef","htmlBlockNode","_getDraftRenderConfig","shouldNotAddWrapperElement","wrappedSiblings","_iteratorNormalCompletion","_didIteratorError","_iteratorError","childrenIs","applyWrapperElementToSiblings","DraftEditorDecoratedLeaves","Leaves","useNewlineChar","_forceFlag","shouldBeNewline","elementNode","isNewline","NEWLINE_B","getAnonymizedDOM","getNodeLabels","anonymized","anonymizeTextWithin","outerHTML","getAnonymizedEditorDOM","currentNode","getNodeLength","addFocusToSelection","nodeWasFocus","activeElementName","nodeIsFocus","selectionRangeCount","selectionAnchorNodeName","selectionAnchorOffset","selectionFocusNodeName","selectionFocusOffset","getRangeAt","addPointToSelection","nodeStart","nodeEnd","documentObject","tempKey","tempOffset","hasAnchor","storedFocusNode","storedFocusOffset","hyphenate","asString","computedStyle","cssFloat","styleFloat","_hyphenPattern","_uppercasePattern","isWebkit","scrollingElement","compatMode","joinClasses","getListItemClasses","shouldResetCount","blocksAsArray","lastWrapperTemplate","componentProps","_className","_ii","argLength","nextClass","getTextContentFromFiles","isEventHandled","endDrag","dropSelection","eventTargetDocument","caretRangeFromPoint","dropRange","rangeParent","rangeOffset","getSelectionForEvent","handleDroppedFiles","fileText","insertTextAtSelection","dragType","_internalDrag","handleDrop","newContentState","mouseUpEvent","MouseEvent","dispatchEvent","mimeString","getParts","isJpeg","hasArrayNature","isChrome","isFirefox","selectionHandler","isSelectionAtLeafStart","_pendingStateFromBeforeInput","handleBeforeInput","mustPreventNative","oldBlockTree","newBlockTree","oldLeafSet","newLeafSet","oldStart","adjustedStart","oldEnd","adjustedEnd","newStart","newEnd","newDecoratorKey","blockTree","isAtStart","leafStart","preserveSelectionOnBlur","getFragmentFromSelection","setClipboard","removeFragment","keyCommandPlainBackspace","isGecko","domSelection","isNotTextOrElementNode","span","domText","modelText","preserveEntity","charDelta","contentWithAdjustedDOMSelection","onInputType","SecondaryClipboard","keyCommandBackspaceToStartOfLine","keyCommandBackspaceWord","keyCommandDeleteWord","keyCommandInsertNewline","keyCommandMoveSelectionToEndOfBlock","keyCommandMoveSelectionToStartOfBlock","keyCommandPlainDelete","keyCommandTransposeCharacters","keyCommandUndo","callDeprecatedHandler","deprecatedHandler","newState","paste","onKeyCommand","blockEnd","keyAfter","expandRangeToStartOfLine","areRectsOnOneLine","minTop","minBottom","maxTop","maxBottom","DOCUMENT_TYPE_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","collapsed","containingElement","computed","correctDocument","div","documentBody","getLineHeightPx","bestContainer","bestOffset","setStartBefore","currentContainer","maxIndexToConsider","toRemove","moveSelectionForward","charAhead","finalSelection","afterInsert","updateFn","undoneState","DraftPasteProcessor","splitTextIntoTextBlocks","defaultFileText","handlePastedFiles","processText","withInsertedText","textBlocks","formatPastedText","_editor$props$formatP","_html","internalClipboard","getClipboard","areTextBlocksAndClipboardEqual","htmlFragment","processHTML","htmlMap","textFragment","textMap","convertFromHTMLToContentBlocks","textLine","blockNodeConfig","prevSiblingIndex","_uri","adjustment","NEWLINE_REGEX","unstable_flushControlled","encodeEntityRanges","encodeInlineStyleRanges","createRawBlock","entityStorageMap","insertRawBlock","rawBlocks","blockCacheRef","rawBlock","rawDraftContentState","rawState","entityCacheRef","entityStorageKey","stringifiedEntityKey","encodeRawBlocks","rawEntityMap","encodeRawEntityMap","storageMap","encoded","isTruthy","EMPTY_ARRAY","styleList","styleToEncode","filteredInlines","getEncodedInlinesForType","DraftTreeAdapter","createCharacterList","decodeEntityRanges","decodeInlineStyleRanges","decodeBlockNodeConfig","decodeCharacterList","rawEntityRanges","rawInlineStyleRanges","addKeyIfMissing","updateNodeStack","parentRef","nodesWithParentRef","decodeRawBlocks","isTreeRawBlock","fromRawStateToRawTreeState","contentBlockNode","isValidBlock","_children","_contentBlockNode","decodeContentBlockNodes","decodeContentBlocks","fromRawTreeStateToRawState","rawEntityKey","_rawEntityMap$rawEnti","decodeRawEntityMap","draftTreeState","transformedBlocks","traverseInDepthOrder","addDepthToChildren","draftState","parentStack","treeBlock","lastParent","DraftTreeInvariants","isConnectedTree","eligibleFirstNodes","nodesSeen","visitedStack","childKeys","_firstNode","isValidTree","characterArray","getRangeBoundingClientRect","boundingRect","_rects$","_rects$2","DisplayFormat","CalendarOptions","DateBox","date_box_1","calendarOptions","displayFormat","adaptivityEnabled","dateOutOfRangeMessage","dateSerializationFormat","disabledDates","invalidDateMessage","pickerType","showAnalogClock","useMaskBehavior","defaultZoomLevel","TextArea","text_area_1","ValidationSummary","validation_summary_1","defaultItems","VALIDATION_SUMMARY_CLASS","_initGroupRegistration","_unsubscribeGroup","_groupWasInit","_validationGroup","groupSubscription","_groupValidationHandler","_getOrderedItems","orderedItems","foundItems","_validationSummary","_itemValidationHandler","itemsChanged","_loop","foundRule","_ElementType$Text$Ele","_TextElementType2","_TagElementType2","_StyleElementType2","_UnsupportedElementType2","decodeMap","ReflectOwnKeys","ReflectApply","NumberIsNaN","errorListener","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","newListener","warned","onceWrapper","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","wrapListener","setMaxListeners","getMaxListeners","doError","originalListener","rawListeners","getElements","where","getOneElement","fetch","recurse","addConditionally","tmp","isValidFeed","childs","feedRoot","updated","pubDate","getOuterHTML","getInnerHTML","foreignNames","elementNames","attributeNames","unencodedElements","xmp","iframe","noembed","noframes","plaintext","noscript","singleTag","cheerio","renderTag","renderDirective","renderComment","renderCdata","renderText","foreignModeIntegrationPoints","formatAttrs","Root","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","encodeHTML5","encodeHTML4","decodeStrict","decode_1","encode_1","encode_2","decode_2","decode_json_1","fromCodePoint","getChildren","getParent","getSiblings","getAttributeValue","hasAttrib","replaceElement","replacement","currNext","elems","findOneChild","findOne","existsOne","findAll","rootElems","tag_name","tag_type","tag_contains","Checks","getAttribCheck","attrib","combineFuncs","funcs","getElementsByTagType","removeSubsets","POSITION","comparePos","nodeA","nodeB","sharedParent","aSibling","bSibling","aParents","bParents","uniqueSort","relative","Cbs","readable","enc","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","total","utf8CheckIncomplete","copyProps","SafeBuffer","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","maxChunkLength","len2","encodeChunk","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","ProxyHandler","CollectingHandler","restart","_isValidTagOrAttributeName2","_generatePropsFromAttributes2","_VoidElements2","_processNodes2","mappedAttributes","lowerCaseAttribute","_ReactAttributes2","_BooleanAttributes2","getParsedAttributeValue","accesskey","allowfullscreen","allowtransparency","autoplay","cellpadding","cellspacing","charset","challenge","cite","classid","cols","colspan","contenteditable","contextmenu","controlsList","coords","crossorigin","defer","download","draggable","enctype","formaction","formenctype","formmethod","formnovalidate","formtarget","frameborder","high","hreflang","inputmode","integrity","keyparams","keytype","lang","low","manifest","marginheight","marginwidth","maxlength","media","mediagroup","minlength","muted","nonce","novalidate","optimum","playsinline","poster","preload","profile","radiogroup","readonly","referrerpolicy","rel","rows","rowspan","sandbox","scoped","scrolling","seamless","sizes","slot","srcdoc","srclang","srcset","summary","usemap","wmode","about","datatype","inlist","resource","typeof","vocab","autocapitalize","autocorrect","autosave","itemprop","itemscope","itemtype","itemid","itemref","security","unselectable","sliceIterator","styleObject","stylePropertyValue","_stylePropertyValue$s","_stylePropertyValue$s2","_ref$decodeEntities","_ref$preprocessNodes","preprocessNodes","_htmlparser2","monthGetter","monthSetter","monthLimits","getLimits","setMonth","newDay","setDate","PATTERN_GETTERS","isPM","getDay","currentYear","maxLimitLength","renderDateParts","isStub","limits","setter","forcedPattern","dM","getAmPm","Parent","isIE11","dateUnitIntervals","toMilliseconds","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","tickInterval","maxInterval","tickIntervalToFormatMap","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstDayOfWeek","firstQuarterMonth","oldDate","getFirstWeekDate","fixTimezoneGap","trimTime","addDateInterval","intervalObject","getDateIntervalByString","years","quarters","months","weeks","days","setTime","addInterval","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","normalizeDate","normalizedDate","newDate","trial","getTimezonesDifference","dateUtils","dateToMilliseconds","getNextDateUnit","unit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","differences","getMilliseconds","setToDayEnd","roundDateByStartDayHour","startDayHour","dateTimeFromDecimal","getSequenceByInterval","cur","intervals","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","viewType","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","normalizeDateByWeek","differenceInDays","getDatesInterval","resultDate","dateInRange","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","roundToHour","setMinutes","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","startDate","endDate","intervalUnit","millisecondCount","getDatesOfInterval","createDate","NUMBER_SERIALIZATION_FORMAT","DATE_SERIALIZATION_FORMAT","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","dateParser","skipISO8601Parsing","getTimePart","timeZoneHour","timeZoneMinute","parseISO8601String","isDefaultSerializationFormat","getDateSerializationFormat","parsedValue","parseDate","getIso8601Format","deserializeDate","serializeDate","serializationFormat","getLDMLFormatter","DATE_COMPONENTS","TIME_COMPONENTS","ONE_DAY","SUPPORTED_FORMATS","ONE_MINUTE","ONE_YEAR","MIN_DATEVIEW_DEFAULT_DATE","MAX_DATEVIEW_DEFAULT_DATE","FORMATS_INFO","getStandardPattern","components","standardPattern","FORMATS_MAP","SUBMIT_FORMATS_MAP","toStandardDateFormat","dateSerialization","fromStandardDateFormat","getMaxMonthDay","mergeDates","formatInfo","componentInfo","DATE_COMPONENTS_INFO","getLongestCaptionIndex","captionArray","longestIndex","longestCaptionLength","getLongestDate","getStringFormat","longestDate","normalizeTime","setSeconds","setMilliseconds","formatDate","startValue","endValue","DX_SWIPEABLE","ACTION_TO_EVENT_MAP","onCancel","Swipeable","_createEventData","_eventData","Navigator","onCaptionClick","_captionClickAction","_renderCaption","_prevButton","$prevButton","_nextButton","_caption","$caption","toggleButton","buttonPrefix","CALENDAR_EMPTY_CELL_CLASS","CALENDAR_SELECTED_DATE_CLASS","CALENDAR_CONTOURED_DATE_CLASS","CALENDAR_DXCLICK_EVENT_NAME","CALENDAR_DATE_VALUE_KEY","BaseView","_getViewName","cellTemplate","onCellClick","rowCount","colCount","allowValueSelection","_todayDate","_renderImpl","_createTable","_createDisabledDatesHandler","_renderBody","_renderContouredDate","_$table","$body","rowData","cellDate","_getFirstCellData","prevCellDate","rowIndex","row","_createRow","colIndex","_renderCell","_appendCell","cell","_appendMethodName","_cacheAppendMethodName","_createCell","$cell","_getClassNameByDate","coreDateUtils","getCellAriaLabel","cellIndex","_prepareCellTemplateData","_getCellText","_getNextCellData","_isTodayCell","_isDateOutOfRange","isDateDisabled","_isOtherView","_createCellClickAction","_cellClickAction","_disabledDatesHandler","_getDefaultDisabledDatesHandler","contouredDate","$oldContouredCell","_getContouredCell","$newContouredCell","_getCellByDate","_changeValue","selectedCell","_selectedCell","_getFirstAvailableDate","getFirstDateView","isBoundary","Views","_renderHeader","$headerRow","$header","_renderHeaderCell","_getDayCaption","_getFirstDayOfWeek","fullCaption","full","abbrCaption","abbr","getNavigatorCaption","today","minDate","maxDate","firstDay","firstMonthDayOffset","daysInWeek","foundDate","decade","firstYearInDecade","_isValueOnCurrentView","century","minDecade","maxDecade","firstDecadeInCentury","LEVEL_COMPARE_MAP","ZOOM_LEVEL","Calendar","zoomLevel","maxZoomLevel","minZoomLevel","showTodayButton","onContouredChanged","_waitRenderView","_moveCurrentDateByOffset","_getRtlCorrection","_navigateUp","_view","_navigateDown","_dateOption","sameView","_moveToClosestAvailableDate","_isMaxZoomLevel","_updateTimeComponent","_dateValue","_getSerializationFormat","_convertToDate","cellElement","_shiftDate","baseDate","_getMaxDate","_getMinDate","isDateForwardInNeighborView","_areDatesInNeighborView","isDateForwardInRange","dateForward","_areDatesInSameView","getYear","isDateForwardInStartView","isDateBackwardInStartView","isCurrentDateAvailable","_isDateNotAvailable","isDateForwardAvailable","isDateBackwardAvailable","dateBackward","_correctZoomLevel","_initCurrentDate","_getNormalizedDate","_getDate","_onContouredChanged","_updateCurrentDate","_$viewsWrapper","_getViewsOffset","_isOtherViewCellClicked","_suppressNavigation","_navigate","_renderNavigator","_setViewContoured","_updateAriaId","zoomCorrection","_getMonthsOffset","_alreadyViewRender","_getDateByOffset","_waitRenderViewTimeout","_date","currentDay","lastDay","_renderViews","_navigator","_renderSwipeable","_renderFooter","_updateAriaSelected","CALENDAR_VIEW_CLASS","_renderSpecificView","beforeDate","_beforeView","_isViewAvailable","afterDate","_afterView","_translateViews","specificView","$view","_viewConfig","_injectComponent","_cellClickHandler","_getViewPosition","coefficient","nextView","isMaxZoomLevel","newCurrentDate","_animateShowView","_navigatorConfig","_updateButtonsVisibility","_navigatorClickHandler","_isMinZoomLevel","_getRequiredView","_swipeable","_viewWidth","isRtl","_updateNavigatorCaption","moveOffset","_isDateInInvalidRange","_animateWrapper","_viewWidthValue","$todayButton","_toTodayView","_$footer","dateValue","_popAnimationView","newView","endPosition","_preventViewChangeAnimation","_wrapperAnimationEndHandler","_rearrangeViews","_resetLocation","viewOffset","viewToCreateKey","viewToRemoveKey","destinationDate","dateByOffset","_clearViewWidthCache","_disposeViews","_refreshViews","_updateViewsValue","$prevSelectedCell","$selectedCell","_value2","ariaId","$newCell","_suppressingNavigation","DateBoxStrategy","dateBox","widgetOption","_widget","_renderWidget","_getWidgetContainer","_getWidgetName","_getWidgetOptions","getDefaultOptions","getDisplayFormat","supportedKeys","getKeyboardListener","customizeButtons","getParsedText","renderInputMinMax","renderOpenedState","_this$_getPopup","_getPopup","renderPopupContent","_preventFocusOnPopup","getFirstPopupElement","getLastPopupElement","popupShowingHandler","popupHiddenHandler","dateBoxValue","useCurrentDateByDefault","getDefaultDate","textChangedHandler","renderValue","isAdaptivityChanged","dateOption","CalendarStrategy","homeEndHandler","viewValue","_getContouredValue","lastActionElement","_lastActionElement","shouldCloseDropDown","_closeDropDownByEnter","_valueChangedHandler","_isCalendarVisible","_escapeHandler","DATEVIEW_ROLLER_ITEM_CLASS","DateViewRoller","showOnClick","onSelectedIndexChanged","_renderSelectedItemFrame","_renderContainerClick","_renderSelectedValue","_renderItemsClick","_renderWheelEvent","_wrapAction","_endActionHandler","_renderSelectedIndexChanged","_selectedIndexChanged","_isWheelScrolled","originalAction","_$items","_fitIndex","_moveTo","_getItemPosition","_renderActiveStateItem","_itemHeight","_getItemSelector","_itemElementIndex","_shouldScrollToNeighborItem","_animation","_fitSelectedIndexInRange","itemsCount","_isInNullNeighborhood","_getSelectedIndexAfterScroll","currentSelectedIndex","dy","_getNewSelectedIndex","ratio","newSelectedIndex","_toggleActive","_fireSelectedIndexChanged","toggleActiveState","_refreshSelectedIndex","fitIndex","DATEVIEW_CLASS","ROLLER_TYPE","DateView","_valueOption","_getDefaultDate","uiDateUtils","applyCompactClass","_toggleFormatClasses","_toggleCompactClass","currentFormat","previousFormat","_wrapper","_renderRollers","_$rollersContainer","_createRollerConfigs","_rollers","_rollerConfigs","$roller","DATEVIEW_ROLLER_CLASS","displayItems","roller","_setActiveRoller","_setRollerState","_createRollerConfig","valueRange","_calculateRollerConfigValueRange","curDate","_getCurrentDate","valueItems","currentRoller","activeRoller","_updateRollersPosition","correctIndex","rollerValue","_refreshRollers","_refreshRoller","rollerType","rollerConfig","minYear","minMonth","maxYear","maxMonth","minHour","maxHour","DateViewStrategy","_isNativeType","_isTextInput","_getDateBoxType","getRealSeparatorIndex","quoteBalance","separatorCount","occurrence","getNthOccurrence","splitByIndex","getCaretBoundaries","prefixStubLength","postfixStubLength","_getDigitCountBeforeIndex","_reverseText","_getDigitPositionByIndex","digitIndex","getCaretWithOffset","getCaretInBoundaries","boundaries","NUMBER_BOX","POINTERUP_EVENT_NAME","POINTERCANCEL_EVENT_NAME","SpinButton","SPIN_CLASS","_spinIcon","_spinDownHandler","_spinChangeHandler","_feedBackDeferred","SpinButtons","$spinContainer","$spinContainerChildren","_spinButtonsPointerDownHandler","_spinUpChangeHandler","_spinDownChangeHandler","$spinUp","$spinDown","_isTouchFriendly","isTouchFriendly","$spinButtons","spinUp","spinDown","FIREFOX_CONTROL_KEYS","NumberBoxBase","showSpinButtons","useLargeSpinButtons","invalidValueMessage","_isSupportInputMode","chrome","_validateValue","_keyPressed","_spinValueChange","_forceValueRender","valuenow","valuetext","_applyDisplayValueFormatter","valuemin","valuemax","_normalizeInputValue","_correctRounding","isFloatValue","isFloatStep","valueAccuracy","stepAccuracy","accuracy","_round","forceValueChangeEvent","_forceRefreshInputValue","_normalizeText","_parseValue","valueHasDigits","_applyValueBoundaries","isValueIncomplete","_isValueIncomplete","isValueCorrect","_isValueInRange","_replaceCommaWithPoint","_inputIsInvalid","isNumberMode","validityState","badInput","_isNumber","isValueValid","NUMBER_FORMATTER_NAMESPACE","MINUS_KEY","INPUT_EVENT","CARET_TIMEOUT_DURATION","NumberBoxMask","_isDeleteKey","_useMaskBehavior","minus","_revertSign","_removeHandler","_arrowHandler","_moveCaretToBoundaryEventHandler","_updateFormattedValue","_getTextSeparatorIndex","realSeparatorOccurrenceIndex","clearCaretTimeout","_getInputVal","shouldHandleEvent","_focusOutOccurs","_hasValueBeenChanged","_getFormatPattern","_updateParsedValue","_adjustParsedValue","_setTextByParsedValue","_parsedValue","nextCaret","isCaretInBoundaries","_moveCaretToBoundary","_shouldMoveCaret","isDecimalSeparatorNext","isZeroNext","moveToFloat","_lastKey","zeroToZeroReplace","_lastKeyName","_shouldHandleKey","normalizedText","enteredChar","_tryParse","isDeleteKey","isBackspaceKey","_isStub","valueAfterRemoving","_isNonStubAfter","_isPercentFormat","formatOption","isCustomParser","integerPartStartIndex","formatPointIndex","textPointIndex","formatIntegerPartLength","textIntegerPartLength","_removeStubs","_currentFormat","_updateFormat","isLDMLPattern","getLDMLFormat","_getFormatForSign","excludeComma","stubs","_getStubs","prefixStubs","postfixRegex","decoratorsRegex","stub","_truncateToPrecision","maxPrecision","strValue","editedText","isTextSelected","_getParsedValue","_getPrecisionLimits","isValueChanged","isDecimalPointRestricted","isUselessCharRestricted","parsedValueSign","point","pointIndex","isCaretOnFloat","textParts","floatLength","isPrecisionInRange","endsWithZero","_setInputText","formatted","isSeparatorBasedText","isSeparatorBasedString","pointPosition","newPointPosition","formattedParts","relativeIndex","digitsBefore","formattedIntPart","_trimNonNumericCharsFromEnd","positionFromEnd","digitsFromEnd","newPositionFromEnd","getCaretAfterFormat","_formattedValue","isNumberType","_isChar","isSpecialChar","isMinusKey","_renderFormatter","_clearCache","_detachFormatterEvents","_attachFormatterEvents","_isInputFromPaste","_isValuePasted","_formatValue","escapedDecimalSeparator","realSeparatorIndex","floatPart","_applyRevertedSign","preserveSelectedText","newText","previousBoundaries","getCaretOffset","caretInBoundaries","_removeMinusFromText","textWithoutMinus","wasMinusRemoved","NumberBox","BOX_CLASS","BOX_SELECTOR","BOX_ITEM_DATA_KEY","MINSIZE_MAP","MAXSIZE_MAP","FLEX_JUSTIFY_CONTENT_MAP","FLEX_ALIGN_ITEMS_MAP","stretch","FLEX_DIRECTION_MAP","setFlexProp","styleExpr","UPDATE_EVENT","FALLBACK_BOX_ITEM","FALLBACK_WRAP_MAP","FALLBACK_MAIN_SIZE_MAP","FALLBACK_CROSS_SIZE_MAP","FALLBACK_PRE_MARGIN_MAP","FALLBACK_POST_MARGIN_MAP","FALLBACK_CROSS_PRE_MARGIN_MAP","FALLBACK_CROSS_POST_MARGIN_MAP","MARGINS_RTL_FLIP_MAP","BoxItem","fireItemStateChangedAction","oldState","FlexLayoutStrategy","_option","initSize","_normalizedAlign","_normalizedCrossAlign","crossAlign","flexPropPrefix","minSize","baseSize","shrink","flexBasis","flexDirection","FallbackLayoutStrategy","verticalAlign","totalItemSize","_setItemsMargins","_chooseMarginSide","itemSize","totalRatio","totalWeightedShrink","totalBaseSize","_baseSize","freeSpaceSize","_boxSize","factor","totalFactor","_parseSize","_boxSizeValue","_totalBaseSize","renderItems","renderAlign","renderCrossAlign","Box","onItemStateChanged","_layoutStrategy","_initLayout","_initBoxQueue","_layout","renderBox","_renderAlign","_onItemStateChanged","_queueIsNotEmpty","_shiftItemFromQueue","_updateTimer","_isUpdated","$itemNode","boxConfig","box","_pushItemToQueue","rotateArrow","$arrow","cssRotate","TimeView","use24HourFormat","_showClock","_arrowOffset","_getValue","_renderBox","_updateTime","$box","_renderClock","_$hourArrow","_$minuteArrow","_updateClock","hourArrowAngle","minuteArrowAngle","_getBoxItems","is12HourFormat","_hourBox","_minuteBox","_format12","_createHourBox","_createMinuteBox","_createFormat12Box","_onHourBoxValueChanged","_getNumberBoxConfig","_isPM","newHours","_convertMaxHourToMin","maxHoursValue","newMinutes","_refreshFormat12","_silentEditorValueUpdate","_normalizeHours","CalendarWithTimeStrategy","_is24HourFormat","viewDate","_updateDateTime","_timeView","_isShrinkView","_isSmallScreen","_repaintTimer","isAdaptiveMode","currentAdaptiveMode","_currentAdaptiveMode","preventDefaultValue","_box","_attachTabHandler","calendarPopupConfig","clockMinWidth","_removeMinWidthTimer","BOUNDARY_VALUES","ListStrategy","_refreshItems","_timeListItemTemplate","_widgetItems","_getTimeListItems","_setSelectedItemsByValue","_asyncScrollTimeout","dateIndex","_getDateIndex","_areDatesEqual","_getBoundaryDate","_getRangeItems","rangeDuration","rangeItems","boundaryValue","_updatePopupHeight","dropDownOptionsHeight","popupHeight","_timeList","DATEBOX_CLASS","DATEBOX_WRAPPER_CLASS","PICKER_TYPE","calendar","rollers","native","STRATEGY_NAME","STRATEGY_CLASSES","Native","CalendarWithTime","_updatePickerOptions","_pickerType","_initStrategy","_toLowerCaseFirstLetter","_getFormatType","currentType","isTime","_refreshFormatClass","_refreshPickerTypeClass","_formatValidationIcon","_this$_strategy$_upda","_this$_strategy","clearButtonWidth","_getClearButtonWidth","longestElementDimensions","_getLongestElementDimensions","curWidth","shouldHideValidationIcon","_storedPadding","leftPadding","rightPadding","clearButtonElement","longestValue","$longestValueElement","storedPadding","necessaryWidth","_renderPopupWrapper","_getPopupTitle","classPostfixes","_getDisplayedText","submitFormat","displayedText","_getFormatByMode","_getParsedDate","_getDateByDefault","_applyInternalValidation","parsedText","isDateType","isDateInRange","validationMessage","_applyCustomValidation","_serializeDate","_isValueChanged","_isTextChanged","_refreshStrategy","_this$_strategy2","DateBoxMask","originalHandlers","callOriginalHandler","originalHandler","applyHandler","maskHandler","_shouldUseOriginalHandler","_revertPart","_isAllSelected","_selectFirstPart","_selectLastPart","_revertChanges","_enterHandler","_selectNextPart","_upDownArrowHandler","isNotDeletingInCalendar","_setNewDateIfEmpty","originalValue","_getActivePartValue","_initialMaskValue","_loadMaskValue","_partIncrease","emptyDateValue","_isSingleCharKey","_isSingleDigitKey","_e$originalEvent","_useBeforeInputEvent","_processInputKey","_maskInputHandler","_renderSelectedPart","_maskBeforeInputHandler","isBackwardDeletion","_maskValue","_activePartIndex","_searchString","_searchNumber","_formatPattern","_renderDateParts","_partLimitsReached","formatLength","_getActivePartProp","maxSearchLength","isLengthExceeded","isValueOverflowed","_getActivePartLimits","_setActivePartValue","startString","endLimit","_clearSearchValue","_prepareRegExpInfo","_regExpInfo","convertedRegExp","_initMaskState","_detachMaskEvents","_clearMaskState","_attachMaskEvents","_dateParts","_maskClickHandler","_maskPasteHandler","_maskCompositionEndHandler","isBoundaryIndex","_getRealLimitsPattern","lockOtherParts","limitFunction","_addLeadingZeroes","zeroes","_saveMaskValue","limitDelta","_applyLimits","limitBase","limitClosest","caretInGroup","getDatePartIndexByPosition","_isDateValid","_isValueDirty","_fireChangeEvent","TrackBar","_renderContainer","_renderRange","_setRangeStyles","_rangeStylesConfig","_$bar","_$range","_currentRatio","_needPreventAnimation","PROGRESSBAR_INDETERMINATE_SEGMENT","ProgressBar","statusFormat","showStatus","onComplete","statusPosition","_renderStatus","_createCompleteAction","_toggleStatus","_completeAction","_$status","_renderIndeterminateState","_$segmentContainer","splitPosition","_toggleIndeterminateState","_setStatus","FILEUPLOADER_DRAGOVER_CLASS","FILEUPLOADER_FILE_CONTAINER_CLASS","FILEUPLOADER_FILE_NAME_CLASS","FILEUPLOADER_FILE_SIZE_CLASS","FILEUPLOADER_BUTTON_CLASS","FILEUPLOADER_BUTTON_CONTAINER_CLASS","FILEUPLOADER_UPLOAD_BUTTON_CLASS","isFormDataSupported","$selectButton","_selectButton","dialogTrigger","dropZone","uploadHeaders","uploadCustomData","extendSelection","useNativeInputClick","useDragOver","nativeDropSupported","_uploadButtonType","isLabelTextDefined","_shouldDragOverBeRendered","_initFileInput","_initLabel","_setUploadStrategy","_createFiles","_createBeforeSendAction","_createUploadStartedAction","_createUploadedAction","_createFilesUploadedAction","_createProgressAction","_createUploadErrorAction","_createUploadAbortedAction","_createDropZoneEnterAction","_createDropZoneLeaveAction","CustomChunksFileUploadStrategy","DefaultChunksFileUploadStrategy","CustomWholeFileUploadStrategy","DefaultWholeFileUploadStrategy","_uploadStrategy","_isCustomClickEvent","_$fileInput","_inputChangeHandler","_resetInputValue","_doPreventInputChange","_getFiles","_uploadFiles","_shouldFileListBeExtended","fileList","fileData","targetFileValue","_files","_$inputLabel","_updateInputLabelText","correctedValue","_isInteractionDisabled","_renderInputWrapper","_renderSelectButton","_renderInputContainer","_renderUploadButton","_preventRecreatingFiles","_attachDragEventHandlers","_$inputWrapper","_renderFiles","progressBar","_createProgressBar","$file","_initStatusMessage","_ensureCancelButtonInitialized","$statusMessage","_preventFilesUploading","_createFile","_validateFile","isValidFileExtension","_validateFileExtension","isValidMinSize","_validateMinFileSize","isValidMaxSize","_validateMaxFileSize","allowedExtensions","fileExtension","fileSize","_beforeSendAction","_uploadStartedAction","_uploadedAction","_filesUploadedAction","_progressAction","_uploadAbortedAction","_uploadErrorAction","_dropZoneEnterAction","_dropZoneLeaveAction","loadedSize","onAbort","onLoad","onLoadStart","isInitialized","isAborted","uploadStarted","isStartLoad","chunksData","_$filesContainer","_renderFile","_toggleFileUploaderEmptyClassName","_updateFileNameMaxWidth","$fileContainer","_renderFileButtons","$fileInfo","_getFileSize","_createValidationElement","cancelButtonsCount","uploadButtonsCount","filesContainerWidth","buttonsWidth","$fileSize","prevFileSize","fileSizeWidth","$cancelButton","_getCancelButton","$uploadButton","_getUploadButton","cancelButton","_removeFile","uploadButton","_uploadFile","_file$$file","_getFile","_hasInvalidFile","_selectFileDialogHandler","_selectButtonClickHandler","_attachSelectFileDialogHandler","_detachSelectFileDialogHandler","_uploadButton","_uploadButtonClickHandler","_$inputContainer","labelId","_selectButtonInputTemplate","isCustomTarget","_detachDragEventHandlers","_dragEventsTargets","_dragOverHandler","_dropHandler","_useInputForDrop","_tryToggleDropZoneActive","_updateEventTargets","dropEffect","isTargetExists","isCustom","classAction","mouseAction","dropZoneElement","_filterFiles","_isError","allowedTypes","_getAllowedFileTypes","_isFileTypeAllowed","acceptSting","allowedType","loadedFileData","segmentSize","currentSegmentSize","bytesLoaded","bytesTotal","totalFilesSize","totalLoadedFilesSize","_getProgressValue","_setLoadedSize","hideCancelButton","_totalFilesSize","_totalLoadedFilesSize","_updateTotalProgress","_getTotalFilesSize","_getTotalLoadedFilesSize","_file$cancelButton","_recalculateProgress","_updateReadOnlyState","FileBlobReader","createBlobResult","isCompleted","blob","sliceFile","startPos","webkitSlice","FileUploadStrategyBase","fileUploader","_resetFileState","_prepareFileBeforeUpload","_uploadCore","_isCustomCallback","_createUploadArgument","_handleFileError","uploadInfo","_file$progressBar","_createFileProgressBar","_onUploadStarted","_onLoadedHandler","_onErrorHandler","_onAbortHandler","_onProgressHandler","_getUploadAbortedStatusMessage","_setStatusMessage","_handleAllFilesUploaded","_updateProgressBar","_getLoadedData","formData","formDataEntries","entryName","ChunksFileUploadStrategyBase","realFile","loadedBytes","blobReader","customData","_sendChunk","currentChunk","_sendChunkCore","_shouldHandleError","_createChunksInfo","bytesUploaded","chunkCount","chunkBlob","chunkIndex","ajax","_beforeSend","_tryRaiseStartLoad","_createFormData","blobName","_isStatusError","FileName","Index","TotalCount","FileSize","FileType","FileGuid","_extendFormData","chunksInfo","WholeFileUploadStrategyBase","_isProgressStarted","_handleProgress","fieldValue","DefaultAdapter","validationRequestsCallbacks","getCurrentValidationError","bypass","applyValidationResults","VALIDATION_STATUS_VALID","VALIDATION_STATUS_PENDING","_initAdapter","skipValidation","dxStandardEditor","_this$option$editor$o","_this$option","_this$option$editor","_resetValidationRules","_getValidationRules","_validationRules","currentError","currentResult","_applyValidationResult","_updateValidationResult","validatedAction","allowScroll","scrollTopPos","scrollBottomPos","_updateInputHeight","_renderScrollHandler","_updateInputAutoResizeAppearance","_eventY","initScrollData","validateTarget","prepareScrollData","currentEventY","_resetDimensions","_getHeightDifference","autoHeightResizing","heightDifference","_getBoundaryHeight","inputHeight","adjustedMaxHeight","needScroll","isAutoResizeEnabled","historyContext","createNamedContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","cacheCount","matchPath","matched","cacheKey","pathCache","compilePath","Route","createURL","staticHandler","useHistory"],"mappings":"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ACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT6tC,GAAI,KACJG,GAAI,KACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QA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","file":"static/js/2.c9522054.chunk.js","sourcesContent":["/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getSize,\r\n getElementBoxParams\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\n[\"width\", \"height\", \"outerWidth\", \"outerHeight\", \"innerWidth\", \"innerHeight\"].forEach((function(methodName) {\r\n var partialName = methodName.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === methodName.indexOf(\"outer\");\r\n var isInner = 0 === methodName.indexOf(\"inner\");\r\n initRender.prototype[methodName] = function(value) {\r\n if (this.length > 1 && arguments.length > 0) {\r\n return repeatMethod.call(this, methodName, arguments)\r\n }\r\n var element = this[0];\r\n if (!element) {\r\n return\r\n }\r\n if (isWindow(element)) {\r\n return isOuter ? element[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(element)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (0 === arguments.length || \"boolean\" === typeof value) {\r\n var include = {\r\n paddings: isInner || isOuter,\r\n borders: isOuter,\r\n margins: value\r\n };\r\n return getSize(element, propName, include)\r\n }\r\n if (void 0 === value || null === value) {\r\n return this\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(element, propName, value);\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\nvar getWindowByElement = function(element) {\r\n return isWindow(element) ? element : element.defaultView\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (!this[0].getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = this[0].getBoundingClientRect();\r\n var win = getWindowByElement(this[0].ownerDocument);\r\n var docElem = this[0].ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport WeakMap from \"../../core/polyfills/weak_map\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var parent = element.parentNode;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n return function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n }\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var that = this;\r\n var propagationStopped = false;\r\n var immediatePropagationStopped = false;\r\n var defaultPrevented = false;\r\n extend(that, src);\r\n if (src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event) {\r\n that.originalEvent = src;\r\n that.currentTarget = void 0\r\n }\r\n if (!(src instanceof eventsEngine.Event)) {\r\n extend(that, {\r\n isPropagationStopped: function() {\r\n return !!(propagationStopped || that.originalEvent && that.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n propagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n immediatePropagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(defaultPrevented || that.originalEvent && that.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n defaultPrevented = true;\r\n that.originalEvent && that.originalEvent.preventDefault()\r\n }\r\n })\r\n }\r\n addProperty(\"which\", calculateWhich, that);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n extend(that, config);\r\n that.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar arraysEqualByValue = function(array1, array2, depth) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], depth + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar objectsEqualByValue = function(object1, object2, depth, strict) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar maxEqualityDepth = 3;\r\nexport var equalByValue = function(object1, object2) {\r\n var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n object1 = toComparable(object1, true);\r\n object2 = toComparable(object2, true);\r\n var comparisonResult = strict ? object1 === object2 : object1 == object2;\r\n if (comparisonResult || depth >= maxEqualityDepth) {\r\n return true\r\n }\r\n if (isObject(object1) && isObject(object2)) {\r\n return objectsEqualByValue(object1, object2, depth, strict)\r\n } else if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return arraysEqualByValue(object1, object2, depth)\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\",\r\n left: \"leftArrow\",\r\n up: \"upArrow\",\r\n right: \"rightArrow\",\r\n down: \"downArrow\",\r\n multiply: \"asterisk\",\r\n spacebar: \"space\",\r\n del: \"del\",\r\n subtract: \"minus\",\r\n esc: \"escape\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if ($target.is(\".dx-skip-gesture-event *, .dx-skip-gesture-event\")) {\r\n return true\r\n }\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var isKeySupported = !!key;\r\n key = isKeySupported ? key : which;\r\n if (key) {\r\n if (isKeySupported) {\r\n key = KEY_MAP[key.toLowerCase()] || key\r\n } else {\r\n key = LEGACY_KEY_CODES[key] || String.fromCharCode(key)\r\n }\r\n return key\r\n }\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = new Callbacks;\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n if (element.classList) {\r\n if (isAdd) {\r\n element.classList.add(className)\r\n } else {\r\n element.classList.remove(className)\r\n }\r\n } else {\r\n var classNameSupported = \"string\" === typeof element.className;\r\n var elementClass = classNameSupported ? element.className : this.getAttribute(element, \"class\") || \"\";\r\n var classNames = elementClass.split(\" \");\r\n var classIndex = classNames.indexOf(className);\r\n var resultClassName;\r\n if (isAdd && classIndex < 0) {\r\n resultClassName = elementClass ? elementClass + \" \" + className : className\r\n }\r\n if (!isAdd && classIndex >= 0) {\r\n classNames.splice(classIndex, 1);\r\n resultClassName = classNames.join(\" \")\r\n }\r\n if (void 0 !== resultClassName) {\r\n if (classNameSupported) {\r\n element.className = resultClassName\r\n } else {\r\n this.setAttribute(element, \"class\", resultClassName)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement() {\r\n return this._document.activeElement\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar navigator = getNavigator();\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n var config;\r\n each(uaParsers, (platform, parser) => {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = $window.height() > $window.width() ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = $(this._window).width();\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\nexport var isEmpty = function(entity) {\r\n return Array.isArray(entity) && !entity.length\r\n};\r\nexport var wrapToArray = function(entity) {\r\n return Array.isArray(entity) ? entity : [entity]\r\n};\r\nexport var inArray = function(value, object) {\r\n if (!object) {\r\n return -1\r\n }\r\n var array = Array.isArray(object) ? object : object.toArray();\r\n return array.indexOf(value)\r\n};\r\nexport var intersection = function(a, b) {\r\n if (!Array.isArray(a) || 0 === a.length || !Array.isArray(b) || 0 === b.length) {\r\n return []\r\n }\r\n var result = [];\r\n each(a, (function(_, value) {\r\n var index = inArray(value, b);\r\n if (-1 !== index) {\r\n result.push(value)\r\n }\r\n }));\r\n return result\r\n};\r\nexport var uniqueValues = function(data) {\r\n return data.filter((function(item, position) {\r\n return data.indexOf(item) === position\r\n }))\r\n};\r\nexport var removeDuplicates = function(from, what) {\r\n if (!Array.isArray(from) || 0 === from.length) {\r\n return []\r\n }\r\n if (!Array.isArray(what) || 0 === what.length) {\r\n return from.slice()\r\n }\r\n var result = [];\r\n each(from, (function(_, value) {\r\n var index = inArray(value, what);\r\n if (-1 === index) {\r\n result.push(value)\r\n }\r\n }));\r\n return result\r\n};\r\nexport var normalizeIndexes = function(items, indexParameterName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var parameterIndex = 0;\r\n var useLegacyVisibleIndex = config().useLegacyVisibleIndex;\r\n each(items, (function(index, item) {\r\n index = item[indexParameterName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexParameterName] = void 0\r\n }\r\n }));\r\n if (!useLegacyVisibleIndex) {\r\n each(items, (function() {\r\n if (!isDefined(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n while (indexedItems[parameterIndex]) {\r\n parameterIndex++\r\n }\r\n indexedItems[parameterIndex] = [this];\r\n parameterIndex++\r\n }\r\n }))\r\n }\r\n parameterIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n each(items, (function() {\r\n if (index >= 0) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n }))\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n each(items, (function() {\r\n if (!isDefined(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n }))\r\n }\r\n return parameterIndex\r\n};\r\nexport var merge = function(array1, array2) {\r\n for (var i = 0; i < array2.length; i++) {\r\n array1[array1.length] = array2[i]\r\n }\r\n return array1\r\n};\r\nexport var find = function(array, condition) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (condition(array[i])) {\r\n return array[i]\r\n }\r\n }\r\n};\r\nexport var groupBy = (array, cb) => array.reduce((result, item) => _extends({}, result, {\r\n [cb(item)]: [...result[cb(item)] || [], item]\r\n}), {});\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => localeData[locale] || {};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n localizeNode: function(node) {\r\n var that = this;\r\n $(node).each((index, nodeItem) => {\r\n if (!nodeItem.nodeType) {\r\n return\r\n }\r\n if (3 === nodeItem.nodeType) {\r\n nodeItem.nodeValue = that.localizeString(nodeItem.nodeValue)\r\n } else if (!$(nodeItem).is(\"iframe\")) {\r\n each(nodeItem.attributes || [], (index, attr) => {\r\n if (\"string\" === typeof attr.value) {\r\n var localizedValue = that.localizeString(attr.value);\r\n if (attr.value !== localizedValue) {\r\n attr.value = localizedValue\r\n }\r\n }\r\n });\r\n $(nodeItem).contents().each((index, node) => {\r\n that.localizeNode(node)\r\n })\r\n }\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxFileUploader-selectFile\": \"Select file\",\r\n \"dxFileUploader-dropFile\": \"or Drop file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"kb\",\r\n \"dxFileUploader-Mb\": \"Mb\",\r\n \"dxFileUploader-Gb\": \"Gb\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows\",\r\n \"dxDataGrid-exportAll\": \"Export all data\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\"\r\n }\r\n};\r\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}","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","/**\r\n * DevExtreme (esm/animation/translator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n type\r\n} from \"../core/utils/type\";\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nexport var locate = function($element) {\r\n $element = $($element);\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n elementData($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nexport var clearCache = function($element) {\r\n if ($element.length) {\r\n removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexport var getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexport var getTranslate = function($element) {\r\n var result = $element.length ? elementData($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexport var move = function($element, position) {\r\n $element = $($element);\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexport var resetPosition = function($element, finishTransition) {\r\n $element = $($element);\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexport var parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\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 ReactIs = require('react-is');\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')(ReactIs.isElement, 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","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n \"af-NA\": 1,\r\n agq: 1,\r\n ak: 1,\r\n ar: 6,\r\n \"ar-EH\": 1,\r\n \"ar-ER\": 1,\r\n \"ar-KM\": 1,\r\n \"ar-LB\": 1,\r\n \"ar-MA\": 1,\r\n \"ar-MR\": 1,\r\n \"ar-PS\": 1,\r\n \"ar-SO\": 1,\r\n \"ar-SS\": 1,\r\n \"ar-TD\": 1,\r\n \"ar-TN\": 1,\r\n asa: 1,\r\n ast: 1,\r\n az: 1,\r\n \"az-Cyrl\": 1,\r\n bas: 1,\r\n be: 1,\r\n bem: 1,\r\n bez: 1,\r\n bg: 1,\r\n bm: 1,\r\n br: 1,\r\n bs: 1,\r\n \"bs-Cyrl\": 1,\r\n ca: 1,\r\n ce: 1,\r\n cgg: 1,\r\n ckb: 6,\r\n cs: 1,\r\n cy: 1,\r\n da: 1,\r\n de: 1,\r\n dje: 1,\r\n dsb: 1,\r\n dua: 1,\r\n dyo: 1,\r\n ee: 1,\r\n el: 1,\r\n \"en-001\": 1,\r\n \"en-AE\": 6,\r\n \"en-BI\": 1,\r\n \"en-MP\": 1,\r\n \"en-SD\": 6,\r\n eo: 1,\r\n es: 1,\r\n et: 1,\r\n eu: 1,\r\n ewo: 1,\r\n fa: 6,\r\n ff: 1,\r\n \"ff-Adlm\": 1,\r\n fi: 1,\r\n fo: 1,\r\n fr: 1,\r\n \"fr-DJ\": 6,\r\n \"fr-DZ\": 6,\r\n \"fr-SY\": 6,\r\n fur: 1,\r\n fy: 1,\r\n ga: 1,\r\n gd: 1,\r\n gl: 1,\r\n gsw: 1,\r\n gv: 1,\r\n ha: 1,\r\n hr: 1,\r\n hsb: 1,\r\n hu: 1,\r\n hy: 1,\r\n ia: 1,\r\n ig: 1,\r\n is: 1,\r\n it: 1,\r\n jgo: 1,\r\n jmc: 1,\r\n ka: 1,\r\n kab: 6,\r\n kde: 1,\r\n kea: 1,\r\n khq: 1,\r\n kk: 1,\r\n kkj: 1,\r\n kl: 1,\r\n \"ko-KP\": 1,\r\n ksb: 1,\r\n ksf: 1,\r\n ksh: 1,\r\n ku: 1,\r\n kw: 1,\r\n ky: 1,\r\n lag: 1,\r\n lb: 1,\r\n lg: 1,\r\n ln: 1,\r\n lrc: 6,\r\n lt: 1,\r\n lu: 1,\r\n lv: 1,\r\n \"mas-TZ\": 1,\r\n mfe: 1,\r\n mg: 1,\r\n mgo: 1,\r\n mi: 1,\r\n mk: 1,\r\n mn: 1,\r\n ms: 1,\r\n mua: 1,\r\n mzn: 6,\r\n naq: 1,\r\n nds: 1,\r\n nl: 1,\r\n nmg: 1,\r\n nnh: 1,\r\n no: 1,\r\n nus: 1,\r\n nyn: 1,\r\n os: 1,\r\n pcm: 1,\r\n pl: 1,\r\n ps: 6,\r\n \"pt-AO\": 1,\r\n \"pt-CH\": 1,\r\n \"pt-CV\": 1,\r\n \"pt-GQ\": 1,\r\n \"pt-GW\": 1,\r\n \"pt-LU\": 1,\r\n \"pt-ST\": 1,\r\n \"pt-TL\": 1,\r\n \"qu-BO\": 1,\r\n \"qu-EC\": 1,\r\n rm: 1,\r\n rn: 1,\r\n ro: 1,\r\n rof: 1,\r\n ru: 1,\r\n rw: 1,\r\n rwk: 1,\r\n sah: 1,\r\n sbp: 1,\r\n se: 1,\r\n ses: 1,\r\n sg: 1,\r\n shi: 1,\r\n \"shi-Latn\": 1,\r\n si: 1,\r\n sk: 1,\r\n sl: 1,\r\n smn: 1,\r\n so: 1,\r\n \"so-DJ\": 6,\r\n sq: 1,\r\n sr: 1,\r\n \"sr-Latn\": 1,\r\n sv: 1,\r\n sw: 1,\r\n \"ta-LK\": 1,\r\n \"ta-MY\": 1,\r\n teo: 1,\r\n tg: 1,\r\n \"ti-ER\": 1,\r\n tk: 1,\r\n to: 1,\r\n tr: 1,\r\n tt: 1,\r\n twq: 1,\r\n tzm: 1,\r\n uk: 1,\r\n uz: 1,\r\n \"uz-Arab\": 6,\r\n \"uz-Cyrl\": 1,\r\n vai: 1,\r\n \"vai-Latn\": 1,\r\n vi: 1,\r\n vun: 1,\r\n wae: 1,\r\n wo: 1,\r\n xog: 1,\r\n yav: 1,\r\n yi: 1,\r\n yo: 1,\r\n zgh: 1\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport localizationCoreUtils from \"../core\";\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar getIntlFormatter = format => date => {\r\n if (!format.timeZoneName) {\r\n var year = date.getFullYear();\r\n var recognizableAsTwentyCentury = String(year).length < 3;\r\n var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year;\r\n var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n if (recognizableAsTwentyCentury) {\r\n utcDate.setFullYear(year)\r\n }\r\n var utcFormat = extend({\r\n timeZone: \"UTC\"\r\n }, format);\r\n return formatDateTime(utcDate, utcFormat)\r\n }\r\n return formatDateTime(date, format)\r\n};\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\n\r\nfunction formatDateTime(date, format) {\r\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\")\r\n}\r\nvar formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\r\nvar getAlternativeNumeralsMap = (() => {\r\n var numeralsMapCache = {};\r\n return locale => {\r\n if (!(locale in numeralsMapCache)) {\r\n if (\"0\" === formatNumber(0)) {\r\n numeralsMapCache[locale] = false;\r\n return false\r\n }\r\n numeralsMapCache[locale] = {};\r\n for (var i = 0; i < 10; ++i) {\r\n numeralsMapCache[locale][formatNumber(i)] = i\r\n }\r\n }\r\n return numeralsMapCache[locale]\r\n }\r\n})();\r\nvar normalizeNumerals = dateString => {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\")\r\n};\r\nvar removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\r\nvar dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\r\nvar normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\r\nvar intlFormats = {\r\n day: {\r\n day: \"numeric\"\r\n },\r\n dayofweek: {\r\n weekday: \"long\"\r\n },\r\n longdate: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n longdatelongtime: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n longtime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n month: {\r\n month: \"long\"\r\n },\r\n monthandday: {\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n monthandyear: {\r\n year: \"numeric\",\r\n month: \"long\"\r\n },\r\n shortdate: {},\r\n shorttime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n },\r\n shortyear: {\r\n year: \"2-digit\"\r\n },\r\n year: {\r\n year: \"numeric\"\r\n }\r\n};\r\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\r\n get: function() {\r\n var defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\r\n return {\r\n year: defaultOptions.year,\r\n month: defaultOptions.month,\r\n day: defaultOptions.day,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n }\r\n }\r\n});\r\nvar getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\r\nvar monthNameStrategies = {\r\n standalone: function(monthIndex, monthFormat) {\r\n var date = new Date(1999, monthIndex, 13, 1);\r\n var dateString = getIntlFormatter({\r\n month: monthFormat\r\n })(date);\r\n return dateString\r\n },\r\n format: function(monthIndex, monthFormat) {\r\n var date = new Date(0, monthIndex, 13, 1);\r\n var dateString = normalizeMonth(getIntlFormatter({\r\n day: \"numeric\",\r\n month: monthFormat\r\n })(date));\r\n var parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\r\n if (1 === parts.length) {\r\n return parts[0]\r\n } else if (2 === parts.length) {\r\n return parts[0].length > parts[1].length ? parts[0] : parts[1]\r\n }\r\n return monthNameStrategies.standalone(monthIndex, monthFormat)\r\n }\r\n};\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n getMonthNames: function(format, type) {\r\n var monthFormat = {\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"];\r\n type = \"format\" === type ? type : \"standalone\";\r\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat))\r\n },\r\n getDayNames: function(format) {\r\n var result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))))({\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n short: \"narrow\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"]);\r\n return result\r\n },\r\n getPeriodNames: function() {\r\n var hour12Formatter = getIntlFormatter({\r\n hour: \"numeric\",\r\n hour12: true\r\n });\r\n return [1, 13].map(hours => {\r\n var hourNumberText = formatNumber(1);\r\n var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\r\n if (2 !== timeParts.length) {\r\n return \"\"\r\n }\r\n var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\r\n return biggerPart.trim()\r\n })\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n if (\"function\" !== typeof _format && !_format.formatter) {\r\n _format = _format.type || _format\r\n }\r\n var intlFormat = getIntlFormat(_format);\r\n if (intlFormat) {\r\n return getIntlFormatter(intlFormat)(date)\r\n }\r\n var formatType = typeof _format;\r\n if (_format.formatter || \"function\" === formatType || \"string\" === formatType) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getIntlFormatter(_format)(date)\r\n },\r\n parse: function(dateString, format) {\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = date => normalizeMonth(this.format(date, format))\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = ampmShift => {\r\n var parsedDate = ((dateArgs, ampmShift) => {\r\n var hoursShift = ampmShift ? 12 : 0;\r\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds)\r\n })(dateArgs, ampmShift);\r\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\r\n return parsedDate\r\n }\r\n };\r\n return constructValidDate(false) || constructValidDate(true)\r\n },\r\n _generateDateArgs: function(formatParts, dateParts) {\r\n var currentDate = new Date;\r\n var dateArgs = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0\r\n };\r\n formatParts.forEach((formatPart, index) => {\r\n var datePart = dateParts[index];\r\n var parsed = parseInt(datePart, 10);\r\n if (\"month\" === formatPart) {\r\n parsed -= 1\r\n }\r\n dateArgs[formatPart] = parsed\r\n });\r\n return dateArgs\r\n },\r\n formatUsesMonthName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.month\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n formatUsesDayName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.weekday\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getTimeSeparator: function() {\r\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: false\r\n })).replace(/\\d/g, \"\")\r\n },\r\n getFormatParts: function(format) {\r\n if (\"string\" === typeof format) {\r\n return this.callBase(format)\r\n }\r\n var intlFormat = extend({}, intlFormats[format.toLowerCase()]);\r\n var date = new Date(2001, 2, 4, 5, 6, 7);\r\n var formattedDate = getIntlFormatter(intlFormat)(date);\r\n formattedDate = normalizeNumerals(formattedDate);\r\n return [{\r\n name: \"year\",\r\n value: 1\r\n }, {\r\n name: \"month\",\r\n value: 3\r\n }, {\r\n name: \"day\",\r\n value: 4\r\n }, {\r\n name: \"hours\",\r\n value: 5\r\n }, {\r\n name: \"minutes\",\r\n value: 6\r\n }, {\r\n name: \"seconds\",\r\n value: 7\r\n }].map(part => ({\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getFormatter as getLDMLDateFormatter\r\n} from \"./ldml/date.formatter\";\r\nimport {\r\n getFormat as getLDMLDateFormat\r\n} from \"./ldml/date.format\";\r\nimport {\r\n getParser as getLDMLDateParser\r\n} from \"./ldml/date.parser\";\r\nimport defaultDateNames from \"./default_date_names\";\r\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\r\nimport localizationCore from \"./core\";\r\nimport numberLocalization from \"./number\";\r\nimport intlDateLocalization from \"./intl/date\";\r\nvar DEFAULT_DAY_OF_WEEK_INDEX = 0;\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar FORMATS_TO_PATTERN_MAP = {\r\n shortdate: \"M/d/y\",\r\n shorttime: \"h:mm a\",\r\n longdate: \"EEEE, MMMM d, y\",\r\n longtime: \"h:mm:ss a\",\r\n monthandday: \"MMMM d\",\r\n monthandyear: \"MMMM y\",\r\n quarterandyear: \"QQQ y\",\r\n day: \"d\",\r\n year: \"y\",\r\n shortdateshorttime: \"M/d/y, h:mm a\",\r\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\r\n month: \"LLLL\",\r\n shortyear: \"yy\",\r\n dayofweek: \"EEEE\",\r\n quarter: \"QQQ\",\r\n hour: \"HH\",\r\n minute: \"mm\",\r\n second: \"ss\",\r\n millisecond: \"SSS\",\r\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\r\n};\r\nvar possiblePartPatterns = {\r\n year: [\"y\", \"yy\", \"yyyy\"],\r\n day: [\"d\", \"dd\"],\r\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\r\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\r\n minutes: [\"m\", \"mm\"],\r\n seconds: [\"s\", \"ss\"],\r\n milliseconds: [\"S\", \"SS\", \"SSS\"]\r\n};\r\nvar dateLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()]\r\n },\r\n _expandPattern: function(pattern) {\r\n return this._getPatternByFormat(pattern) || pattern\r\n },\r\n formatUsesMonthName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\")\r\n },\r\n formatUsesDayName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\")\r\n },\r\n getFormatParts: function(format) {\r\n var pattern = this._getPatternByFormat(format) || format;\r\n var result = [];\r\n each(pattern.split(/\\W+/), (_, formatPart) => {\r\n each(possiblePartPatterns, (partName, possiblePatterns) => {\r\n if (inArray(formatPart, possiblePatterns) > -1) {\r\n result.push(partName)\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n getMonthNames: function(format) {\r\n return defaultDateNames.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return defaultDateNames.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return defaultDateNames.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return defaultDateNames.getPeriodNames(format)\r\n },\r\n getTimeSeparator: function() {\r\n return \":\"\r\n },\r\n is24HourFormat: function(format) {\r\n var amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\r\n var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\r\n var amTimeFormatted = this.format(amTime, format);\r\n var pmTimeFormatted = this.format(pmTime, format);\r\n for (var i = 0; i < amTimeFormatted.length; i++) {\r\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\r\n return !isNaN(parseInt(amTimeFormatted[i]))\r\n }\r\n }\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n var formatter;\r\n if (\"function\" === typeof _format) {\r\n formatter = _format\r\n } else if (_format.formatter) {\r\n formatter = _format.formatter\r\n } else {\r\n _format = _format.type || _format;\r\n if (isString(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return numberLocalization.convertDigits(getLDMLDateFormatter(_format, this)(date))\r\n }\r\n }\r\n if (!formatter) {\r\n return\r\n }\r\n return formatter(date)\r\n },\r\n parse: function(text, format) {\r\n var that = this;\r\n var ldmlFormat;\r\n var formatter;\r\n if (!text) {\r\n return\r\n }\r\n if (!format) {\r\n return this.parse(text, \"shortdate\")\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\r\n ldmlFormat = format\r\n } else {\r\n formatter = value => {\r\n var text = that.format(value, format);\r\n return numberLocalization.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = getLDMLDateFormat(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = numberLocalization.convertDigits(text, true);\r\n return getLDMLDateParser(ldmlFormat, this)(text)\r\n }\r\n errors.log(\"W0012\");\r\n var result = new Date(text);\r\n if (!result || isNaN(result.getTime())) {\r\n return\r\n }\r\n return result\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(intlDateLocalization)\r\n}\r\nexport default dateLocalization;\r\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar ieRegExp = /(msie) (\\d{1,2}\\.\\d)/;\r\nvar ie11RegExp = /(trident).*rv:(\\d{1,2}\\.\\d)/;\r\nvar msEdge = /(edge)\\/((\\d+)?[\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = function(ua) {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = ieRegExp.exec(ua) || ie11RegExp.exec(ua) || msEdge.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || webkitRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (\"trident\" === browserName || \"edge\" === browserName) {\r\n browserName = \"msie\"\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\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}","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v.{2}. {3}.'\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","import superPropBase from \"@babel/runtime/helpers/esm/superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var delegateTarget = this._getDelegateTarget(e);\r\n return this._fireEvent({\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n })\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mspointer.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar eventMap = {\r\n dxpointerdown: \"pointerdown\",\r\n dxpointermove: \"pointermove\",\r\n dxpointerup: \"pointerup\",\r\n dxpointercancel: \"pointercancel\",\r\n dxpointerover: \"pointerover\",\r\n dxpointerout: \"pointerout\",\r\n dxpointerenter: \"pointerenter\",\r\n dxpointerleave: \"pointerleave\"\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function(a, b) {\r\n return a.pointerId === b.pointerId\r\n }), (function(e) {\r\n if (e.isPrimary) {\r\n observer.reset()\r\n }\r\n }));\r\n activated = true\r\n};\r\nvar MsPointerStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend({\r\n pointers: observer.pointers(),\r\n pointerId: args.originalEvent.pointerId\r\n }, args))\r\n }\r\n});\r\nMsPointerStrategy.map = eventMap;\r\nMsPointerStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MsPointerStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport browser from \"../core/utils/browser\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MsPointerStrategy from \"./pointer/mspointer\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, device, browser) => {\r\n if (support.pointerEvents && browser.msie) {\r\n return MsPointerStrategy\r\n }\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = device;\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real(), browser);\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\nexport default pointer;\r\n","import setPrototypeOf from \"@babel/runtime/helpers/esm/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 _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/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 _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}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n expr = bracketsToDots(expr);\r\n var path = expr.split(\".\");\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = bracketsToDots(expr || \"this\").split(\".\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nexport var resetActiveElement = function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var body = domAdapter.getBody();\r\n if (activeElement && activeElement !== body && activeElement.blur) {\r\n try {\r\n activeElement.blur()\r\n } catch (e) {\r\n body.blur()\r\n }\r\n }\r\n};\r\nexport var clearSelection = function() {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = function(element) {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = function(event, text) {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (1 === arguments.length) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = function contains(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n if (domAdapter.isTextNode(element)) {\r\n element = element.parentNode\r\n }\r\n if (domAdapter.isDocument(container)) {\r\n return container.documentElement.contains(element)\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\nexport var createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport WeakMap from \"./polyfills/weak_map\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-VALENCIA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-US-POSIX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ks-Arab\": \"\\xa4\\xa0#,##,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n root: \"\\xa4\\xa0#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: String(value).length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 20\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n inArray,\r\n find\r\n} from \"../core/utils/array\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (inArray(value, NUMERIC_FORMATS) > -1) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(char, \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(\" \", \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(\"1\", \".+\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n if (!format) {\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = find(Object.keys(LargeNumberFormatPostfixes), power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../core/remove_event\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue, 10)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value, 10);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var fromOpacity = isPlainObject(from) ? config.skipElementInitialStyles ? 0 : $element.css(\"opacity\") : String(from);\r\n var toOpacity;\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0;\r\n break;\r\n default:\r\n toOpacity = String(config.to)\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport Promise from \"../core/polyfills/promise\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"
\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"
\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === $tester.outerHeight()) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = new Callbacks;\r\n","/**\n * Copyright (c) 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.Immutable = factory();\n}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice;\n\n function createClass(ctor, superClass) {\n if (superClass) {\n ctor.prototype = Object.create(superClass.prototype);\n }\n ctor.prototype.constructor = ctor;\n }\n\n function Iterable(value) {\n return isIterable(value) ? value : Seq(value);\n }\n\n\n createClass(KeyedIterable, Iterable);\n function KeyedIterable(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n\n createClass(IndexedIterable, Iterable);\n function IndexedIterable(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n\n createClass(SetIterable, Iterable);\n function SetIterable(value) {\n return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n\n\n function isIterable(maybeIterable) {\n return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);\n }\n\n function isKeyed(maybeKeyed) {\n return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);\n }\n\n function isIndexed(maybeIndexed) {\n return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);\n }\n\n function isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n }\n\n function isOrdered(maybeOrdered) {\n return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);\n }\n\n Iterable.isIterable = isIterable;\n Iterable.isKeyed = isKeyed;\n Iterable.isIndexed = isIndexed;\n Iterable.isAssociative = isAssociative;\n Iterable.isOrdered = isOrdered;\n\n Iterable.Keyed = KeyedIterable;\n Iterable.Indexed = IndexedIterable;\n Iterable.Set = SetIterable;\n\n\n var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n // Used for setting prototype methods that IE8 chokes on.\n var DELETE = 'delete';\n\n // Constants describing the size of trie nodes.\n var SHIFT = 5; // Resulted in best performance after ______?\n var SIZE = 1 << SHIFT;\n var MASK = SIZE - 1;\n\n // A consistent shared value representing \"not set\" which equals nothing other\n // than itself, and nothing that could be provided externally.\n var NOT_SET = {};\n\n // Boolean references, Rough equivalent of `bool &`.\n var CHANGE_LENGTH = { value: false };\n var DID_ALTER = { value: false };\n\n function MakeRef(ref) {\n ref.value = false;\n return ref;\n }\n\n function SetRef(ref) {\n ref && (ref.value = true);\n }\n\n // A function which returns a value representing an \"owner\" for transient writes\n // to tries. The return value will only ever equal itself, and will not equal\n // the return of any subsequent call of this function.\n function OwnerID() {}\n\n // http://jsperf.com/copy-array-inline\n function arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n }\n\n function ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n }\n\n function wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n }\n\n function returnTrue() {\n return true;\n }\n\n function wholeSlice(begin, end, size) {\n return (begin === 0 || (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size));\n }\n\n function resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n }\n\n function resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n }\n\n function resolveIndex(index, size, defaultIndex) {\n return index === undefined ?\n defaultIndex :\n index < 0 ?\n Math.max(0, size + index) :\n size === undefined ?\n index :\n Math.min(size, index);\n }\n\n /* global Symbol */\n\n var ITERATE_KEYS = 0;\n var ITERATE_VALUES = 1;\n var ITERATE_ENTRIES = 2;\n\n var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator';\n\n var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\n\n function Iterator(next) {\n this.next = next;\n }\n\n Iterator.prototype.toString = function() {\n return '[Iterator]';\n };\n\n\n Iterator.KEYS = ITERATE_KEYS;\n Iterator.VALUES = ITERATE_VALUES;\n Iterator.ENTRIES = ITERATE_ENTRIES;\n\n Iterator.prototype.inspect =\n Iterator.prototype.toSource = function () { return this.toString(); }\n Iterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n };\n\n\n function iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult ? (iteratorResult.value = value) : (iteratorResult = {\n value: value, done: false\n });\n return iteratorResult;\n }\n\n function iteratorDone() {\n return { value: undefined, done: true };\n }\n\n function hasIterator(maybeIterable) {\n return !!getIteratorFn(maybeIterable);\n }\n\n function isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n }\n\n function getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n }\n\n function getIteratorFn(iterable) {\n var iteratorFn = iterable && (\n (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]\n );\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n function isArrayLike(value) {\n return value && typeof value.length === 'number';\n }\n\n createClass(Seq, Iterable);\n function Seq(value) {\n return value === null || value === undefined ? emptySequence() :\n isIterable(value) ? value.toSeq() : seqFromValue(value);\n }\n\n Seq.of = function(/*...values*/) {\n return Seq(arguments);\n };\n\n Seq.prototype.toSeq = function() {\n return this;\n };\n\n Seq.prototype.toString = function() {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function() {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, true);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, true);\n };\n\n\n\n createClass(KeyedSeq, Seq);\n function KeyedSeq(value) {\n return value === null || value === undefined ?\n emptySequence().toKeyedSeq() :\n isIterable(value) ?\n (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) :\n keyedSeqFromValue(value);\n }\n\n KeyedSeq.prototype.toKeyedSeq = function() {\n return this;\n };\n\n\n\n createClass(IndexedSeq, Seq);\n function IndexedSeq(value) {\n return value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();\n }\n\n IndexedSeq.of = function(/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function() {\n return this;\n };\n\n IndexedSeq.prototype.toString = function() {\n return this.__toString('Seq [', ']');\n };\n\n IndexedSeq.prototype.__iterate = function(fn, reverse) {\n return seqIterate(this, fn, reverse, false);\n };\n\n IndexedSeq.prototype.__iterator = function(type, reverse) {\n return seqIterator(this, type, reverse, false);\n };\n\n\n\n createClass(SetSeq, Seq);\n function SetSeq(value) {\n return (\n value === null || value === undefined ? emptySequence() :\n !isIterable(value) ? indexedSeqFromValue(value) :\n isKeyed(value) ? value.entrySeq() : value\n ).toSetSeq();\n }\n\n SetSeq.of = function(/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function() {\n return this;\n };\n\n\n\n Seq.isSeq = isSeq;\n Seq.Keyed = KeyedSeq;\n Seq.Set = SetSeq;\n Seq.Indexed = IndexedSeq;\n\n var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\n\n Seq.prototype[IS_SEQ_SENTINEL] = true;\n\n\n\n createClass(ArraySeq, IndexedSeq);\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n ArraySeq.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function(fn, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ArraySeq.prototype.__iterator = function(type, reverse) {\n var array = this._array;\n var maxIndex = array.length - 1;\n var ii = 0;\n return new Iterator(function() \n {return ii > maxIndex ?\n iteratorDone() :\n iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])}\n );\n };\n\n\n\n createClass(ObjectSeq, KeyedSeq);\n function ObjectSeq(object) {\n var keys = Object.keys(object);\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n ObjectSeq.prototype.get = function(key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function(key) {\n return this._object.hasOwnProperty(key);\n };\n\n ObjectSeq.prototype.__iterate = function(fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var key = keys[reverse ? maxIndex - ii : ii];\n if (fn(object[key], key, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n ObjectSeq.prototype.__iterator = function(type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var maxIndex = keys.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var key = keys[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, key, object[key]);\n });\n };\n\n ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(IterableSeq, IndexedSeq);\n function IterableSeq(iterable) {\n this._iterable = iterable;\n this.size = iterable.length || iterable.size;\n }\n\n IterableSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n IterableSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterable = this._iterable;\n var iterator = getIterator(iterable);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n\n\n createClass(IteratorSeq, IndexedSeq);\n function IteratorSeq(iterator) {\n this._iterator = iterator;\n this._iteratorCache = [];\n }\n\n IteratorSeq.prototype.__iterateUncached = function(fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n while (iterations < cache.length) {\n if (fn(cache[iterations], iterations++, this) === false) {\n return iterations;\n }\n }\n var step;\n while (!(step = iterator.next()).done) {\n var val = step.value;\n cache[iterations] = val;\n if (fn(val, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n\n IteratorSeq.prototype.__iteratorUncached = function(type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = this._iterator;\n var cache = this._iteratorCache;\n var iterations = 0;\n return new Iterator(function() {\n if (iterations >= cache.length) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n cache[iterations] = step.value;\n }\n return iteratorValue(type, iterations, cache[iterations++]);\n });\n };\n\n\n\n\n // # pragma Helper functions\n\n function isSeq(maybeSeq) {\n return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);\n }\n\n var EMPTY_SEQ;\n\n function emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n }\n\n function keyedSeqFromValue(value) {\n var seq =\n Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() :\n isIterator(value) ? new IteratorSeq(value).fromEntrySeq() :\n hasIterator(value) ? new IterableSeq(value).fromEntrySeq() :\n typeof value === 'object' ? new ObjectSeq(value) :\n undefined;\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of [k, v] entries, '+\n 'or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values: ' + value\n );\n }\n return seq;\n }\n\n function seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value) ||\n (typeof value === 'object' && new ObjectSeq(value));\n if (!seq) {\n throw new TypeError(\n 'Expected Array or iterable object of values, or keyed object: ' + value\n );\n }\n return seq;\n }\n\n function maybeIndexedSeqFromValue(value) {\n return (\n isArrayLike(value) ? new ArraySeq(value) :\n isIterator(value) ? new IteratorSeq(value) :\n hasIterator(value) ? new IterableSeq(value) :\n undefined\n );\n }\n\n function seqIterate(seq, fn, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n for (var ii = 0; ii <= maxIndex; ii++) {\n var entry = cache[reverse ? maxIndex - ii : ii];\n if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {\n return ii + 1;\n }\n }\n return ii;\n }\n return seq.__iterateUncached(fn, reverse);\n }\n\n function seqIterator(seq, type, reverse, useKeys) {\n var cache = seq._cache;\n if (cache) {\n var maxIndex = cache.length - 1;\n var ii = 0;\n return new Iterator(function() {\n var entry = cache[reverse ? maxIndex - ii : ii];\n return ii++ > maxIndex ?\n iteratorDone() :\n iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);\n });\n }\n return seq.__iteratorUncached(type, reverse);\n }\n\n function fromJS(json, converter) {\n return converter ?\n fromJSWith(converter, json, '', {'': json}) :\n fromJSDefault(json);\n }\n\n function fromJSWith(converter, json, key, parentJSON) {\n if (Array.isArray(json)) {\n return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n if (isPlainObj(json)) {\n return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)}));\n }\n return json;\n }\n\n function fromJSDefault(json) {\n if (Array.isArray(json)) {\n return IndexedSeq(json).map(fromJSDefault).toList();\n }\n if (isPlainObj(json)) {\n return KeyedSeq(json).map(fromJSDefault).toMap();\n }\n return json;\n }\n\n function isPlainObj(value) {\n return value && (value.constructor === Object || value.constructor === undefined);\n }\n\n /**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if the it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections implement `equals` and `hashCode`.\n *\n */\n function is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function') {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n if (typeof valueA.equals === 'function' &&\n typeof valueB.equals === 'function' &&\n valueA.equals(valueB)) {\n return true;\n }\n return false;\n }\n\n function deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isIterable(b) ||\n a.size !== undefined && b.size !== undefined && a.size !== b.size ||\n a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return b.every(function(v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done;\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function(v, k) {\n if (notAssociative ? !a.has(v) :\n flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n }\n\n createClass(Repeat, IndexedSeq);\n\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n Repeat.prototype.toString = function() {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function(index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function(searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function(begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size) ? this :\n new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));\n };\n\n Repeat.prototype.reverse = function() {\n return this;\n };\n\n Repeat.prototype.indexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function(searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function(fn, reverse) {\n for (var ii = 0; ii < this.size; ii++) {\n if (fn(this._value, ii, this) === false) {\n return ii + 1;\n }\n }\n return ii;\n };\n\n Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this;\n var ii = 0;\n return new Iterator(function() \n {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()}\n );\n };\n\n Repeat.prototype.equals = function(other) {\n return other instanceof Repeat ?\n is(this._value, other._value) :\n deepEqual(other);\n };\n\n\n var EMPTY_REPEAT;\n\n function invariant(condition, error) {\n if (!condition) throw new Error(error);\n }\n\n createClass(Range, IndexedSeq);\n\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n Range.prototype.toString = function() {\n if (this.size === 0) {\n return 'Range []';\n }\n return 'Range [ ' +\n this._start + '...' + this._end +\n (this._step > 1 ? ' by ' + this._step : '') +\n ' ]';\n };\n\n Range.prototype.get = function(index, notSetValue) {\n return this.has(index) ?\n this._start + wrapIndex(this, index) * this._step :\n notSetValue;\n };\n\n Range.prototype.includes = function(searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex);\n };\n\n Range.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);\n };\n\n Range.prototype.indexOf = function(searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function(searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function(fn, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n for (var ii = 0; ii <= maxIndex; ii++) {\n if (fn(value, ii, this) === false) {\n return ii + 1;\n }\n value += reverse ? -step : step;\n }\n return ii;\n };\n\n Range.prototype.__iterator = function(type, reverse) {\n var maxIndex = this.size - 1;\n var step = this._step;\n var value = reverse ? this._start + maxIndex * step : this._start;\n var ii = 0;\n return new Iterator(function() {\n var v = value;\n value += reverse ? -step : step;\n return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);\n });\n };\n\n Range.prototype.equals = function(other) {\n return other instanceof Range ?\n this._start === other._start &&\n this._end === other._end &&\n this._step === other._step :\n deepEqual(this, other);\n };\n\n\n var EMPTY_RANGE;\n\n createClass(Collection, Iterable);\n function Collection() {\n throw TypeError('Abstract');\n }\n\n\n createClass(KeyedCollection, Collection);function KeyedCollection() {}\n\n createClass(IndexedCollection, Collection);function IndexedCollection() {}\n\n createClass(SetCollection, Collection);function SetCollection() {}\n\n\n Collection.Keyed = KeyedCollection;\n Collection.Indexed = IndexedCollection;\n Collection.Set = SetCollection;\n\n var imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ?\n Math.imul :\n function imul(a, b) {\n a = a | 0; // int\n b = b | 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int\n };\n\n // v8 has an optimization for storing 31-bit signed numbers.\n // Values which have either 00 or 11 as the high order bits qualify.\n // This function drops the highest order bit in a signed number, maintaining\n // the sign bit.\n function smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF);\n }\n\n function hash(o) {\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n if (typeof o.valueOf === 'function') {\n o = o.valueOf();\n if (o === false || o === null || o === undefined) {\n return 0;\n }\n }\n if (o === true) {\n return 1;\n }\n var type = typeof o;\n if (type === 'number') {\n var h = o | 0;\n if (h !== o) {\n h ^= o * 0xFFFFFFFF;\n }\n while (o > 0xFFFFFFFF) {\n o /= 0xFFFFFFFF;\n h ^= o;\n }\n return smi(h);\n }\n if (type === 'string') {\n return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);\n }\n if (typeof o.hashCode === 'function') {\n return o.hashCode();\n }\n if (type === 'object') {\n return hashJSObj(o);\n }\n if (typeof o.toString === 'function') {\n return hashString(o.toString());\n }\n throw new Error('Value type ' + type + ' cannot be hashed.');\n }\n\n function cachedHashString(string) {\n var hash = stringHashCache[string];\n if (hash === undefined) {\n hash = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hash;\n }\n return hash;\n }\n\n // http://jsperf.com/hashing-strings\n function hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hash = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hash = 31 * hash + string.charCodeAt(ii) | 0;\n }\n return smi(hash);\n }\n\n function hashJSObj(obj) {\n var hash;\n if (usingWeakMap) {\n hash = weakMap.get(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = obj[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n if (!canDefineProperty) {\n hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hash !== undefined) {\n return hash;\n }\n\n hash = getIENodeHash(obj);\n if (hash !== undefined) {\n return hash;\n }\n }\n\n hash = ++objHashUID;\n if (objHashUID & 0x40000000) {\n objHashUID = 0;\n }\n\n if (usingWeakMap) {\n weakMap.set(obj, hash);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n 'enumerable': false,\n 'configurable': false,\n 'writable': false,\n 'value': hash\n });\n } else if (obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function() {\n return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hash;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hash;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hash;\n }\n\n // Get references to ES5 object methods.\n var isExtensible = Object.isExtensible;\n\n // True if Object.defineProperty works as expected. IE8 fails this test.\n var canDefineProperty = (function() {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n }());\n\n // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n // and avoid memory leaks from the IE cloneNode bug.\n function getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n }\n\n // If possible, use a WeakMap.\n var usingWeakMap = typeof WeakMap === 'function';\n var weakMap;\n if (usingWeakMap) {\n weakMap = new WeakMap();\n }\n\n var objHashUID = 0;\n\n var UID_HASH_KEY = '__immutablehash__';\n if (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n }\n\n var STRING_HASH_CACHE_MIN_STRLEN = 16;\n var STRING_HASH_CACHE_MAX_SIZE = 255;\n var STRING_HASH_CACHE_SIZE = 0;\n var stringHashCache = {};\n\n function assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n }\n\n createClass(Map, KeyedCollection);\n\n // @pragma Construction\n\n function Map(value) {\n return value === null || value === undefined ? emptyMap() :\n isMap(value) && !isOrdered(value) ? value :\n emptyMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n Map.prototype.toString = function() {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function(k, notSetValue) {\n return this._root ?\n this._root.get(0, undefined, k, notSetValue) :\n notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function(k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.setIn = function(keyPath, v) {\n return this.updateIn(keyPath, NOT_SET, function() {return v});\n };\n\n Map.prototype.remove = function(k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteIn = function(keyPath) {\n return this.updateIn(keyPath, function() {return NOT_SET});\n };\n\n Map.prototype.update = function(k, notSetValue, updater) {\n return arguments.length === 1 ?\n k(this) :\n this.updateIn([k], notSetValue, updater);\n };\n\n Map.prototype.updateIn = function(keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeepMap(\n this,\n forceIterator(keyPath),\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? undefined : updatedValue;\n };\n\n Map.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.merge = function(/*...iters*/) {\n return mergeIntoMapWith(this, undefined, arguments);\n };\n\n Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, merger, iters);\n };\n\n Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.merge === 'function' ?\n m.merge.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoMapWith(this, deepMerger, arguments);\n };\n\n Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoMapWith(this, deepMergerWith(merger), iters);\n };\n\n Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);\n return this.updateIn(\n keyPath,\n emptyMap(),\n function(m ) {return typeof m.mergeDeep === 'function' ?\n m.mergeDeep.apply(m, iters) :\n iters[iters.length - 1]}\n );\n };\n\n Map.prototype.sort = function(comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n // @pragma Mutability\n\n Map.prototype.withMutations = function(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n };\n\n Map.prototype.asMutable = function() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n };\n\n Map.prototype.asImmutable = function() {\n return this.__ensureOwner();\n };\n\n Map.prototype.wasAltered = function() {\n return this.__altered;\n };\n\n Map.prototype.__iterator = function(type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n this._root && this._root.iterate(function(entry ) {\n iterations++;\n return fn(entry[1], entry[0], this$0);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n\n function isMap(maybeMap) {\n return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);\n }\n\n Map.isMap = isMap;\n\n var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\n\n var MapPrototype = Map.prototype;\n MapPrototype[IS_MAP_SENTINEL] = true;\n MapPrototype[DELETE] = MapPrototype.remove;\n MapPrototype.removeIn = MapPrototype.deleteIn;\n\n\n // #pragma Trie Nodes\n\n\n\n function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n }\n\n ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n };\n\n\n\n\n function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n }\n\n BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK));\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0 ? notSetValue :\n this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue);\n };\n\n BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;\n var newNodes = exists ? newNode ?\n setIn(nodes, idx, newNode, isEditable) :\n spliceOut(nodes, idx, isEditable) :\n spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n };\n\n\n\n\n function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n }\n\n HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;\n };\n\n HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n };\n\n\n\n\n function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n }\n\n HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n };\n\n HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n for (var len = entries.length; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n };\n\n\n\n\n function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n }\n\n ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n };\n\n ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n };\n\n\n\n // #pragma Iterators\n\n ArrayMapNode.prototype.iterate =\n HashCollisionNode.prototype.iterate = function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n }\n\n BitmapIndexedNode.prototype.iterate =\n HashArrayMapNode.prototype.iterate = function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n }\n\n ValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n }\n\n createClass(MapIterator, Iterator);\n\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n MapIterator.prototype.next = function() {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex;\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n\n function mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n }\n\n function mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev\n };\n }\n\n function makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_MAP;\n function emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n }\n\n function updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef(CHANGE_LENGTH);\n var didAlter = MakeRef(DID_ALTER);\n newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n }\n\n function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);\n }\n\n function isLeafNode(node) {\n return node.constructor === ValueNode || node.constructor === HashCollisionNode;\n }\n\n function mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes = idx1 === idx2 ?\n [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] :\n ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n }\n\n function createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n }\n\n function packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n }\n\n function expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n }\n\n function mergeIntoMapWith(map, merger, iterables) {\n var iters = [];\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = KeyedIterable(value);\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n return mergeIntoCollectionWith(map, merger, iters);\n }\n\n function deepMerger(existing, value, key) {\n return existing && existing.mergeDeep && isIterable(value) ?\n existing.mergeDeep(value) :\n is(existing, value) ? existing : value;\n }\n\n function deepMergerWith(merger) {\n return function(existing, value, key) {\n if (existing && existing.mergeDeepWith && isIterable(value)) {\n return existing.mergeDeepWith(merger, value);\n }\n var nextValue = merger(existing, value, key);\n return is(existing, nextValue) ? existing : nextValue;\n };\n }\n\n function mergeIntoCollectionWith(collection, merger, iters) {\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return collection;\n }\n if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function(collection ) {\n var mergeIntoMap = merger ?\n function(value, key) {\n collection.update(key, NOT_SET, function(existing )\n {return existing === NOT_SET ? value : merger(existing, value, key)}\n );\n } :\n function(value, key) {\n collection.set(key, value);\n }\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoMap);\n }\n });\n }\n\n function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {\n var isNotSet = existing === NOT_SET;\n var step = keyPathIter.next();\n if (step.done) {\n var existingValue = isNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n invariant(\n isNotSet || (existing && existing.set),\n 'invalid keyPath'\n );\n var key = step.value;\n var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);\n var nextUpdated = updateInDeepMap(\n nextExisting,\n keyPathIter,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting ? existing :\n nextUpdated === NOT_SET ? existing.remove(key) :\n (isNotSet ? emptyMap() : existing).set(key, nextUpdated);\n }\n\n function popCount(x) {\n x = x - ((x >> 1) & 0x55555555);\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x = x + (x >> 8);\n x = x + (x >> 16);\n return x & 0x7f;\n }\n\n function setIn(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n }\n\n function spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n }\n\n function spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n }\n\n var MAX_ARRAY_MAP_SIZE = SIZE / 4;\n var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\n var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\n createClass(List, IndexedCollection);\n\n // @pragma Construction\n\n function List(value) {\n var empty = emptyList();\n if (value === null || value === undefined) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedIterable(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function(list ) {\n list.setSize(size);\n iter.forEach(function(v, i) {return list.set(i, v)});\n });\n }\n\n List.of = function(/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function() {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function(index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function(index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function(index) {\n return !this.has(index) ? this :\n index === 0 ? this.shift() :\n index === this.size - 1 ? this.pop() :\n this.splice(index, 1);\n };\n\n List.prototype.insert = function(index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function(/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function(list ) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function() {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function(/*...values*/) {\n var values = arguments;\n return this.withMutations(function(list ) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function() {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.merge = function(/*...iters*/) {\n return mergeIntoListWith(this, undefined, arguments);\n };\n\n List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, merger, iters);\n };\n\n List.prototype.mergeDeep = function(/*...iters*/) {\n return mergeIntoListWith(this, deepMerger, arguments);\n };\n\n List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return mergeIntoListWith(this, deepMergerWith(merger), iters);\n };\n\n List.prototype.setSize = function(size) {\n return setListBounds(this, 0, size);\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function(begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function(type, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n return new Iterator(function() {\n var value = values();\n return value === DONE ?\n iteratorDone() :\n iteratorValue(type, index++, value);\n });\n };\n\n List.prototype.__iterate = function(fn, reverse) {\n var index = 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n return this;\n }\n return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);\n };\n\n\n function isList(maybeList) {\n return !!(maybeList && maybeList[IS_LIST_SENTINEL]);\n }\n\n List.isList = isList;\n\n var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\n\n var ListPrototype = List.prototype;\n ListPrototype[IS_LIST_SENTINEL] = true;\n ListPrototype[DELETE] = ListPrototype.remove;\n ListPrototype.setIn = MapPrototype.setIn;\n ListPrototype.deleteIn =\n ListPrototype.removeIn = MapPrototype.removeIn;\n ListPrototype.update = MapPrototype.update;\n ListPrototype.updateIn = MapPrototype.updateIn;\n ListPrototype.mergeIn = MapPrototype.mergeIn;\n ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n ListPrototype.withMutations = MapPrototype.withMutations;\n ListPrototype.asMutable = MapPrototype.asMutable;\n ListPrototype.asImmutable = MapPrototype.asImmutable;\n ListPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n\n function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n }\n\n // TODO: seems like these methods are very similar\n\n VNode.prototype.removeBefore = function(ownerID, level, index) {\n if (index === level ? 1 << level : 0 || this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n };\n\n VNode.prototype.removeAfter = function(ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n };\n\n\n\n var DONE = {};\n\n function iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0 ?\n iterateLeaf(node, offset) :\n iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function() {\n do {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx], level - SHIFT, offset + (idx << level)\n );\n } while (true);\n };\n }\n }\n\n function makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n }\n\n var EMPTY_LIST;\n function emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n }\n\n function updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function(list ) {\n index < 0 ?\n setListBounds(list, index).set(0, value) :\n setListBounds(list, 0, index + 1).set(index, value)\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef(DID_ALTER);\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n }\n\n function updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n SetRef(didAlter);\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n }\n\n function editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n }\n\n function listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n }\n\n function setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail = newTailOffset < oldTailOffset ?\n listNodeFor(list, newCapacity - 1) :\n newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;\n\n // Merge Tail into tree.\n if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if (beginIndex !== (newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n }\n\n function mergeIntoListWith(list, merger, iterables) {\n var iters = [];\n var maxSize = 0;\n for (var ii = 0; ii < iterables.length; ii++) {\n var value = iterables[ii];\n var iter = IndexedIterable(value);\n if (iter.size > maxSize) {\n maxSize = iter.size;\n }\n if (!isIterable(value)) {\n iter = iter.map(function(v ) {return fromJS(v)});\n }\n iters.push(iter);\n }\n if (maxSize > list.size) {\n list = list.setSize(maxSize);\n }\n return mergeIntoCollectionWith(list, merger, iters);\n }\n\n function getTailOffset(size) {\n return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);\n }\n\n createClass(OrderedMap, Map);\n\n // @pragma Construction\n\n function OrderedMap(value) {\n return value === null || value === undefined ? emptyOrderedMap() :\n isOrderedMap(value) ? value :\n emptyOrderedMap().withMutations(function(map ) {\n var iter = KeyedIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v, k) {return map.set(k, v)});\n });\n }\n\n OrderedMap.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function() {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function(k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function(k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function(k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.wasAltered = function() {\n return this._map.wasAltered() || this._list.wasAltered();\n };\n\n OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._list.__iterate(\n function(entry ) {return entry && fn(entry[1], entry[0], this$0)},\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function(type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n\n function isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n }\n\n OrderedMap.isOrderedMap = isOrderedMap;\n\n OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;\n OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\n\n\n function makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n return omap;\n }\n\n var EMPTY_ORDERED_MAP;\n function emptyOrderedMap() {\n return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));\n }\n\n function updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) { // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function(entry, idx) {return entry !== undefined && i !== idx});\n newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else {\n if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n }\n\n createClass(ToKeyedSequence, KeyedSeq);\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n ToKeyedSequence.prototype.get = function(key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function(key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function() {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function() {var this$0 = this;\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function() {return this$0._iter.toSeq().reverse()};\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this;\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function() {return this$0._iter.toSeq().map(mapper, context)};\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var ii;\n return this._iter.__iterate(\n this._useKeys ?\n function(v, k) {return fn(v, k, this$0)} :\n ((ii = reverse ? resolveSize(this) : 0),\n function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}),\n reverse\n );\n };\n\n ToKeyedSequence.prototype.__iterator = function(type, reverse) {\n if (this._useKeys) {\n return this._iter.__iterator(type, reverse);\n }\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var ii = reverse ? resolveSize(this) : 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, reverse ? --ii : ii++, step.value, step);\n });\n };\n\n ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n createClass(ToIndexedSequence, IndexedSeq);\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToIndexedSequence.prototype.includes = function(value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse);\n };\n\n ToIndexedSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, iterations++, step.value, step)\n });\n };\n\n\n\n createClass(ToSetSequence, SetSeq);\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n ToSetSequence.prototype.has = function(key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n return step.done ? step :\n iteratorValue(type, step.value, step.value, step);\n });\n };\n\n\n\n createClass(FromEntriesSequence, KeyedSeq);\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n FromEntriesSequence.prototype.entrySeq = function() {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._iter.__iterate(function(entry ) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return fn(\n indexedIterable ? entry.get(1) : entry[1],\n indexedIterable ? entry.get(0) : entry[0],\n this$0\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function(type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedIterable = isIterable(entry);\n return iteratorValue(\n type,\n indexedIterable ? entry.get(0) : entry[0],\n indexedIterable ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n\n ToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\n\n function flipFactory(iterable) {\n var flipSequence = makeSequence(iterable);\n flipSequence._iter = iterable;\n flipSequence.size = iterable.size;\n flipSequence.flip = function() {return iterable};\n flipSequence.reverse = function () {\n var reversedSequence = iterable.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function() {return iterable.reverse()};\n return reversedSequence;\n };\n flipSequence.has = function(key ) {return iterable.includes(key)};\n flipSequence.includes = function(key ) {return iterable.has(key)};\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(k, v, this$0) !== false}, reverse);\n }\n flipSequence.__iteratorUncached = function(type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = iterable.__iterator(type, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return iterable.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n }\n return flipSequence;\n }\n\n\n function mapFactory(iterable, mapper, context) {\n var mappedSequence = makeSequence(iterable);\n mappedSequence.size = iterable.size;\n mappedSequence.has = function(key ) {return iterable.has(key)};\n mappedSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v === NOT_SET ?\n notSetValue :\n mapper.call(context, v, key, iterable);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(\n function(v, k, c) {return fn(mapper.call(context, v, k, c), k, this$0) !== false},\n reverse\n );\n }\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function() {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, iterable),\n step\n );\n });\n }\n return mappedSequence;\n }\n\n\n function reverseFactory(iterable, useKeys) {\n var reversedSequence = makeSequence(iterable);\n reversedSequence._iter = iterable;\n reversedSequence.size = iterable.size;\n reversedSequence.reverse = function() {return iterable};\n if (iterable.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(iterable);\n flipSequence.reverse = function() {return iterable.flip()};\n return flipSequence;\n };\n }\n reversedSequence.get = function(key, notSetValue) \n {return iterable.get(useKeys ? key : -1 - key, notSetValue)};\n reversedSequence.has = function(key )\n {return iterable.has(useKeys ? key : -1 - key)};\n reversedSequence.includes = function(value ) {return iterable.includes(value)};\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {var this$0 = this;\n return iterable.__iterate(function(v, k) {return fn(v, k, this$0)}, !reverse);\n };\n reversedSequence.__iterator =\n function(type, reverse) {return iterable.__iterator(type, !reverse)};\n return reversedSequence;\n }\n\n\n function filterFactory(iterable, predicate, context, useKeys) {\n var filterSequence = makeSequence(iterable);\n if (useKeys) {\n filterSequence.has = function(key ) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, iterable);\n };\n filterSequence.get = function(key, notSetValue) {\n var v = iterable.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, iterable) ?\n v : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function() {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, iterable)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n }\n return filterSequence;\n }\n\n\n function countByFactory(iterable, grouper, context) {\n var groups = Map().asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n 0,\n function(a ) {return a + 1}\n );\n });\n return groups.asImmutable();\n }\n\n\n function groupByFactory(iterable, grouper, context) {\n var isKeyedIter = isKeyed(iterable);\n var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();\n iterable.__iterate(function(v, k) {\n groups.update(\n grouper.call(context, v, k, iterable),\n function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)}\n );\n });\n var coerce = iterableClass(iterable);\n return groups.map(function(arr ) {return reify(iterable, coerce(arr))});\n }\n\n\n function sliceFactory(iterable, begin, end, useKeys) {\n var originalSize = iterable.size;\n\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin = begin | 0;\n }\n if (end !== undefined) {\n end = end | 0;\n }\n\n if (wholeSlice(begin, end, originalSize)) {\n return iterable;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this iterable's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(iterable);\n\n // If iterable.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;\n\n if (!useKeys && isSeq(iterable) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize ?\n iterable.get(index + resolvedBegin, notSetValue) :\n notSetValue;\n }\n }\n\n sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0) !== false &&\n iterations !== sliceSize;\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function(type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function() {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n } else {\n return iteratorValue(type, iterations - 1, step.value[1], step);\n }\n });\n }\n\n return sliceSeq;\n }\n\n\n function takeWhileFactory(iterable, predicate, context) {\n var takeSequence = makeSequence(iterable);\n takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n iterable.__iterate(function(v, k, c) \n {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)}\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function() {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$0)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n }\n\n\n function skipWhileFactory(iterable, predicate, context, useKeys) {\n var skipSequence = makeSequence(iterable);\n skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n iterable.__iterate(function(v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$0);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function() {\n var step, k, v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n } else if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n } else {\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$0));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step :\n iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n }\n\n\n function concatFactory(iterable, values) {\n var isKeyedIterable = isKeyed(iterable);\n var iters = [iterable].concat(values).map(function(v ) {\n if (!isIterable(v)) {\n v = isKeyedIterable ?\n keyedSeqFromValue(v) :\n indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedIterable) {\n v = KeyedIterable(v);\n }\n return v;\n }).filter(function(v ) {return v.size !== 0});\n\n if (iters.length === 0) {\n return iterable;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (singleton === iterable ||\n isKeyedIterable && isKeyed(singleton) ||\n isIndexed(iterable) && isIndexed(singleton)) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedIterable) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(iterable)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(\n function(sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n },\n 0\n );\n return concatSeq;\n }\n\n\n function flattenFactory(iterable, depth, useKeys) {\n var flatSequence = makeSequence(iterable);\n flatSequence.__iterateUncached = function(fn, reverse) {\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {var this$0 = this;\n iter.__iterate(function(v, k) {\n if ((!depth || currentDepth < depth) && isIterable(v)) {\n flatDeep(v, currentDepth + 1);\n } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {\n stopped = true;\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(iterable, 0);\n return iterations;\n }\n flatSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function() {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isIterable(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n }\n return flatSequence;\n }\n\n\n function flatMapFactory(iterable, mapper, context) {\n var coerce = iterableClass(iterable);\n return iterable.toSeq().map(\n function(v, k) {return coerce(mapper.call(context, v, k, iterable))}\n ).flatten(true);\n }\n\n\n function interposeFactory(iterable, separator) {\n var interposedSequence = makeSequence(iterable);\n interposedSequence.size = iterable.size && iterable.size * 2 -1;\n interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;\n var iterations = 0;\n iterable.__iterate(function(v, k) \n {return (!iterations || fn(separator, iterations++, this$0) !== false) &&\n fn(v, iterations++, this$0) !== false},\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function(type, reverse) {\n var iterator = iterable.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function() {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2 ?\n iteratorValue(type, iterations++, separator) :\n iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n }\n\n\n function sortFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedIterable = isKeyed(iterable);\n var index = 0;\n var entries = iterable.toSeq().map(\n function(v, k) {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]}\n ).toArray();\n entries.sort(function(a, b) {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach(\n isKeyedIterable ?\n function(v, i) { entries[i].length = 2; } :\n function(v, i) { entries[i] = v[1]; }\n );\n return isKeyedIterable ? KeyedSeq(entries) :\n isIndexed(iterable) ? IndexedSeq(entries) :\n SetSeq(entries);\n }\n\n\n function maxFactory(iterable, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = iterable.toSeq()\n .map(function(v, k) {return [v, mapper(v, k, iterable)]})\n .reduce(function(a, b) {return maxCompare(comparator, a[1], b[1]) ? b : a});\n return entry && entry[0];\n } else {\n return iterable.reduce(function(a, b) {return maxCompare(comparator, a, b) ? b : a});\n }\n }\n\n function maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0;\n }\n\n\n function zipWithFactory(keyIter, zipper, iters) {\n var zipSequence = makeSequence(keyIter);\n zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function(fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function(type, reverse) {\n var iterators = iters.map(function(i )\n {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))}\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function() {\n var steps;\n if (!isDone) {\n steps = iterators.map(function(i ) {return i.next()});\n isDone = steps.some(function(s ) {return s.done});\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(null, steps.map(function(s ) {return s.value}))\n );\n });\n };\n return zipSequence\n }\n\n\n // #pragma Helper Functions\n\n function reify(iter, seq) {\n return isSeq(iter) ? seq : iter.constructor(seq);\n }\n\n function validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n }\n\n function resolveSize(iter) {\n assertNotInfinite(iter.size);\n return ensureSize(iter);\n }\n\n function iterableClass(iterable) {\n return isKeyed(iterable) ? KeyedIterable :\n isIndexed(iterable) ? IndexedIterable :\n SetIterable;\n }\n\n function makeSequence(iterable) {\n return Object.create(\n (\n isKeyed(iterable) ? KeyedSeq :\n isIndexed(iterable) ? IndexedSeq :\n SetSeq\n ).prototype\n );\n }\n\n function cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n } else {\n return Seq.prototype.cacheResult.call(this);\n }\n }\n\n function defaultComparator(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n }\n\n function forceIterator(keyPath) {\n var iter = getIterator(keyPath);\n if (!iter) {\n // Array might not be iterable in this environment, so we need a fallback\n // to our wrapped type.\n if (!isArrayLike(keyPath)) {\n throw new TypeError('Expected iterable or array-like: ' + keyPath);\n }\n iter = getIterator(Iterable(keyPath));\n }\n return iter;\n }\n\n createClass(Record, KeyedCollection);\n\n function Record(defaultValues, name) {\n var hasInitialized;\n\n var RecordType = function Record(values) {\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n setProps(RecordTypePrototype, keys);\n RecordTypePrototype.size = keys.length;\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n }\n this._map = Map(values);\n };\n\n var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);\n RecordTypePrototype.constructor = RecordType;\n\n return RecordType;\n }\n\n Record.prototype.toString = function() {\n return this.__toString(recordName(this) + ' {', '}');\n };\n\n // @pragma Access\n\n Record.prototype.has = function(k) {\n return this._defaultValues.hasOwnProperty(k);\n };\n\n Record.prototype.get = function(k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var defaultVal = this._defaultValues[k];\n return this._map ? this._map.get(k, defaultVal) : defaultVal;\n };\n\n // @pragma Modification\n\n Record.prototype.clear = function() {\n if (this.__ownerID) {\n this._map && this._map.clear();\n return this;\n }\n var RecordType = this.constructor;\n return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));\n };\n\n Record.prototype.set = function(k, v) {\n if (!this.has(k)) {\n throw new Error('Cannot set unknown key \"' + k + '\" on ' + recordName(this));\n }\n var newMap = this._map && this._map.set(k, v);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.remove = function(k) {\n if (!this.has(k)) {\n return this;\n }\n var newMap = this._map && this._map.remove(k);\n if (this.__ownerID || newMap === this._map) {\n return this;\n }\n return makeRecord(this, newMap);\n };\n\n Record.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Record.prototype.__iterator = function(type, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterator(type, reverse);\n };\n\n Record.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterate(fn, reverse);\n };\n\n Record.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map && this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return makeRecord(this, newMap, ownerID);\n };\n\n\n var RecordPrototype = Record.prototype;\n RecordPrototype[DELETE] = RecordPrototype.remove;\n RecordPrototype.deleteIn =\n RecordPrototype.removeIn = MapPrototype.removeIn;\n RecordPrototype.merge = MapPrototype.merge;\n RecordPrototype.mergeWith = MapPrototype.mergeWith;\n RecordPrototype.mergeIn = MapPrototype.mergeIn;\n RecordPrototype.mergeDeep = MapPrototype.mergeDeep;\n RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;\n RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;\n RecordPrototype.setIn = MapPrototype.setIn;\n RecordPrototype.update = MapPrototype.update;\n RecordPrototype.updateIn = MapPrototype.updateIn;\n RecordPrototype.withMutations = MapPrototype.withMutations;\n RecordPrototype.asMutable = MapPrototype.asMutable;\n RecordPrototype.asImmutable = MapPrototype.asImmutable;\n\n\n function makeRecord(likeRecord, map, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._map = map;\n record.__ownerID = ownerID;\n return record;\n }\n\n function recordName(record) {\n return record._name || record.constructor.name || 'Record';\n }\n\n function setProps(prototype, names) {\n try {\n names.forEach(setProp.bind(undefined, prototype));\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n }\n\n function setProp(prototype, name) {\n Object.defineProperty(prototype, name, {\n get: function() {\n return this.get(name);\n },\n set: function(value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n }\n });\n }\n\n createClass(Set, SetCollection);\n\n // @pragma Construction\n\n function Set(value) {\n return value === null || value === undefined ? emptySet() :\n isSet(value) && !isOrdered(value) ? value :\n emptySet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n Set.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n Set.prototype.toString = function() {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function(value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function(value) {\n return updateSet(this, this._map.set(value, true));\n };\n\n Set.prototype.remove = function(value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function() {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0);\n iters = iters.filter(function(x ) {return x.size !== 0});\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function(set ) {\n for (var ii = 0; ii < iters.length; ii++) {\n SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)});\n }\n });\n };\n\n Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (!iters.every(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0);\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function(iter ) {return SetIterable(iter)});\n var originalSet = this;\n return this.withMutations(function(set ) {\n originalSet.forEach(function(value ) {\n if (iters.some(function(iter ) {return iter.includes(value)})) {\n set.remove(value);\n }\n });\n });\n };\n\n Set.prototype.merge = function() {\n return this.union.apply(this, arguments);\n };\n\n Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);\n return this.union.apply(this, iters);\n };\n\n Set.prototype.sort = function(comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function(mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function() {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function(fn, reverse) {var this$0 = this;\n return this._map.__iterate(function(_, k) {return fn(k, k, this$0)}, reverse);\n };\n\n Set.prototype.__iterator = function(type, reverse) {\n return this._map.map(function(_, k) {return k}).__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n\n function isSet(maybeSet) {\n return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);\n }\n\n Set.isSet = isSet;\n\n var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\n\n var SetPrototype = Set.prototype;\n SetPrototype[IS_SET_SENTINEL] = true;\n SetPrototype[DELETE] = SetPrototype.remove;\n SetPrototype.mergeDeep = SetPrototype.merge;\n SetPrototype.mergeDeepWith = SetPrototype.mergeWith;\n SetPrototype.withMutations = MapPrototype.withMutations;\n SetPrototype.asMutable = MapPrototype.asMutable;\n SetPrototype.asImmutable = MapPrototype.asImmutable;\n\n SetPrototype.__empty = emptySet;\n SetPrototype.__make = makeSet;\n\n function updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map ? set :\n newMap.size === 0 ? set.__empty() :\n set.__make(newMap);\n }\n\n function makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_SET;\n function emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n }\n\n createClass(OrderedSet, Set);\n\n // @pragma Construction\n\n function OrderedSet(value) {\n return value === null || value === undefined ? emptyOrderedSet() :\n isOrderedSet(value) ? value :\n emptyOrderedSet().withMutations(function(set ) {\n var iter = SetIterable(value);\n assertNotInfinite(iter.size);\n iter.forEach(function(v ) {return set.add(v)});\n });\n }\n\n OrderedSet.of = function(/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function(value) {\n return this(KeyedIterable(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function() {\n return this.__toString('OrderedSet {', '}');\n };\n\n\n function isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n }\n\n OrderedSet.isOrderedSet = isOrderedSet;\n\n var OrderedSetPrototype = OrderedSet.prototype;\n OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;\n\n OrderedSetPrototype.__empty = emptyOrderedSet;\n OrderedSetPrototype.__make = makeOrderedSet;\n\n function makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n }\n\n var EMPTY_ORDERED_SET;\n function emptyOrderedSet() {\n return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));\n }\n\n createClass(Stack, IndexedCollection);\n\n // @pragma Construction\n\n function Stack(value) {\n return value === null || value === undefined ? emptyStack() :\n isStack(value) ? value :\n emptyStack().unshiftAll(value);\n }\n\n Stack.of = function(/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function() {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function(index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function() {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function(/*...values*/) {\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments[ii],\n next: head\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function(iter) {\n iter = IndexedIterable(iter);\n if (iter.size === 0) {\n return this;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.reverse().forEach(function(value ) {\n newSize++;\n head = {\n value: value,\n next: head\n };\n });\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function() {\n return this.slice(1);\n };\n\n Stack.prototype.unshift = function(/*...values*/) {\n return this.push.apply(this, arguments);\n };\n\n Stack.prototype.unshiftAll = function(iter) {\n return this.pushAll(iter);\n };\n\n Stack.prototype.shift = function() {\n return this.pop.apply(this, arguments);\n };\n\n Stack.prototype.clear = function() {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function(begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function(ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function(fn, reverse) {\n if (reverse) {\n return this.reverse().__iterate(fn);\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function(type, reverse) {\n if (reverse) {\n return this.reverse().__iterator(type);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function() {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n\n function isStack(maybeStack) {\n return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);\n }\n\n Stack.isStack = isStack;\n\n var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\n var StackPrototype = Stack.prototype;\n StackPrototype[IS_STACK_SENTINEL] = true;\n StackPrototype.withMutations = MapPrototype.withMutations;\n StackPrototype.asMutable = MapPrototype.asMutable;\n StackPrototype.asImmutable = MapPrototype.asImmutable;\n StackPrototype.wasAltered = MapPrototype.wasAltered;\n\n\n function makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n }\n\n var EMPTY_STACK;\n function emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n }\n\n /**\n * Contributes additional methods to a constructor\n */\n function mixin(ctor, methods) {\n var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n }\n\n Iterable.Iterator = Iterator;\n\n mixin(Iterable, {\n\n // ### Conversion to other types\n\n toArray: function() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n this.valueSeq().__iterate(function(v, i) { array[i] = v; });\n return array;\n },\n\n toIndexedSeq: function() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value}\n ).__toJS();\n },\n\n toJSON: function() {\n return this.toSeq().map(\n function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value}\n ).__toJS();\n },\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: function() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function(v, k) { object[k] = v; });\n return object;\n },\n\n toOrderedMap: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function() {\n return new ToSetSequence(this);\n },\n\n toSeq: function() {\n return isIndexed(this) ? this.toIndexedSeq() :\n isKeyed(this) ? this.toKeyedSeq() :\n this.toSetSeq();\n },\n\n toStack: function() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n\n // ### Common JavaScript methods and properties\n\n toString: function() {\n return '[Iterable]';\n },\n\n __toString: function(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function() {var values = SLICE$0.call(arguments, 0);\n return reify(this, concatFactory(this, values));\n },\n\n includes: function(searchValue) {\n return this.some(function(value ) {return is(value, searchValue)});\n },\n\n entries: function() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function(v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n find: function(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n findEntry: function(predicate, context) {\n var found;\n this.__iterate(function(v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findLastEntry: function(predicate, context) {\n return this.toSeq().reverse().findEntry(predicate, context);\n },\n\n forEach: function(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function(v ) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function(reducer, initialReduction, context) {\n assertNotInfinite(this.size);\n var reduction;\n var useFirst;\n if (arguments.length < 2) {\n useFirst = true;\n } else {\n reduction = initialReduction;\n }\n this.__iterate(function(v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n });\n return reduction;\n },\n\n reduceRight: function(reducer, initialReduction, context) {\n var reversed = this.toKeyedSeq().reverse();\n return reversed.reduce.apply(reversed, arguments);\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function(predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n\n // ### More sequential methods\n\n butLast: function() {\n return this.slice(0, -1);\n },\n\n isEmpty: function() {\n return this.size !== undefined ? this.size === 0 : !this.some(function() {return true});\n },\n\n count: function(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function() {\n var iterable = this;\n if (iterable._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(iterable._cache);\n }\n var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function() {return iterable.toSeq()};\n return entriesSequence;\n },\n\n filterNot: function(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findLast: function(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n first: function() {\n return this.find(returnTrue);\n },\n\n flatMap: function(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function() {\n return new FromEntriesSequence(this);\n },\n\n get: function(searchKey, notSetValue) {\n return this.find(function(_, key) {return is(key, searchKey)}, undefined, notSetValue);\n },\n\n getIn: function(searchKeyPath, notSetValue) {\n var nested = this;\n // Note: in an ES6 environment, we would prefer:\n // for (var key of searchKeyPath) {\n var iter = forceIterator(searchKeyPath);\n var step;\n while (!(step = iter.next()).done) {\n var key = step.value;\n nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;\n if (nested === NOT_SET) {\n return notSetValue;\n }\n }\n return nested;\n },\n\n groupBy: function(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: function(searchKeyPath) {\n return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;\n },\n\n isSubset: function(iter) {\n iter = typeof iter.includes === 'function' ? iter : Iterable(iter);\n return this.every(function(value ) {return iter.includes(value)});\n },\n\n isSuperset: function(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);\n return iter.isSubset(this);\n },\n\n keySeq: function() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function() {\n return this.toSeq().reverse().first();\n },\n\n max: function(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function(comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);\n },\n\n minBy: function(mapper, comparator) {\n return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);\n },\n\n rest: function() {\n return this.slice(1);\n },\n\n skip: function(amount) {\n return this.slice(Math.max(0, amount));\n },\n\n skipLast: function(amount) {\n return reify(this, this.toSeq().reverse().skip(amount).reverse());\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function(amount) {\n return reify(this, this.toSeq().reverse().take(amount).reverse());\n },\n\n takeWhile: function(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n valueSeq: function() {\n return this.toIndexedSeq();\n },\n\n\n // ### Hashable Object\n\n hashCode: function() {\n return this.__hash || (this.__hash = hashIterable(this));\n }\n\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n });\n\n // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\n // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\n // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';\n // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\n\n var IterablePrototype = Iterable.prototype;\n IterablePrototype[IS_ITERABLE_SENTINEL] = true;\n IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;\n IterablePrototype.__toJS = IterablePrototype.toArray;\n IterablePrototype.__toStringMapper = quoteString;\n IterablePrototype.inspect =\n IterablePrototype.toSource = function() { return this.toString(); };\n IterablePrototype.chain = IterablePrototype.flatMap;\n IterablePrototype.contains = IterablePrototype.includes;\n\n // Temporary warning about using length\n (function () {\n try {\n Object.defineProperty(IterablePrototype, 'length', {\n get: function () {\n if (!Iterable.noLengthWarning) {\n var stack;\n try {\n throw new Error();\n } catch (error) {\n stack = error.stack;\n }\n if (stack.indexOf('_wrapObject') === -1) {\n console && console.warn && console.warn(\n 'iterable.length has been deprecated, '+\n 'use iterable.size or iterable.count(). '+\n 'This warning will become a silent error in a future version. ' +\n stack\n );\n return this.size;\n }\n }\n }\n });\n } catch (e) {}\n })();\n\n\n\n mixin(KeyedIterable, {\n\n // ### More sequential methods\n\n flip: function() {\n return reify(this, flipFactory(this));\n },\n\n findKey: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLastKey: function(predicate, context) {\n return this.toSeq().reverse().findKey(predicate, context);\n },\n\n keyOf: function(searchValue) {\n return this.findKey(function(value ) {return is(value, searchValue)});\n },\n\n lastKeyOf: function(searchValue) {\n return this.findLastKey(function(value ) {return is(value, searchValue)});\n },\n\n mapEntries: function(mapper, context) {var this$0 = this;\n var iterations = 0;\n return reify(this,\n this.toSeq().map(\n function(v, k) {return mapper.call(context, [k, v], iterations++, this$0)}\n ).fromEntrySeq()\n );\n },\n\n mapKeys: function(mapper, context) {var this$0 = this;\n return reify(this,\n this.toSeq().flip().map(\n function(k, v) {return mapper.call(context, k, v, this$0)}\n ).flip()\n );\n }\n\n });\n\n var KeyedIterablePrototype = KeyedIterable.prototype;\n KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;\n KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;\n KeyedIterablePrototype.__toJS = IterablePrototype.toObject;\n KeyedIterablePrototype.__toStringMapper = function(v, k) {return JSON.stringify(k) + ': ' + quoteString(v)};\n\n\n\n mixin(IndexedIterable, {\n\n // ### Conversion to other types\n\n toKeyedSeq: function() {\n return new ToKeyedSequence(this, false);\n },\n\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function(searchValue) {\n var key = this.toKeyedSeq().keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function(searchValue) {\n var key = this.toKeyedSeq().reverse().keyOf(searchValue);\n return key === undefined ? -1 : key;\n\n // var index =\n // return this.toSeq().reverse().indexOf(searchValue);\n },\n\n reverse: function() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum | 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1 ?\n spliced :\n spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n\n // ### More collection methods\n\n findLastIndex: function(predicate, context) {\n var key = this.toKeyedSeq().findLastKey(predicate, context);\n return key === undefined ? -1 : key;\n },\n\n first: function() {\n return this.get(0);\n },\n\n flatten: function(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function(index, notSetValue) {\n index = wrapIndex(this, index);\n return (index < 0 || (this.size === Infinity ||\n (this.size !== undefined && index > this.size))) ?\n notSetValue :\n this.find(function(_, key) {return key === index}, undefined, notSetValue);\n },\n\n has: function(index) {\n index = wrapIndex(this, index);\n return index >= 0 && (this.size !== undefined ?\n this.size === Infinity || index < this.size :\n this.indexOf(index) !== -1\n );\n },\n\n interpose: function(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function(/*...iterables*/) {\n var iterables = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * iterables.length;\n }\n return reify(this, interleaved);\n },\n\n last: function() {\n return this.get(-1);\n },\n\n skipWhile: function(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function(/*, ...iterables */) {\n var iterables = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, iterables));\n },\n\n zipWith: function(zipper/*, ...iterables */) {\n var iterables = arrCopy(arguments);\n iterables[0] = this;\n return reify(this, zipWithFactory(this, zipper, iterables));\n }\n\n });\n\n IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;\n IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;\n\n\n\n mixin(SetIterable, {\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function(value) {\n return this.has(value);\n },\n\n\n // ### More sequential methods\n\n keySeq: function() {\n return this.valueSeq();\n }\n\n });\n\n SetIterable.prototype.has = IterablePrototype.includes;\n\n\n // Mixin subclasses\n\n mixin(KeyedSeq, KeyedIterable.prototype);\n mixin(IndexedSeq, IndexedIterable.prototype);\n mixin(SetSeq, SetIterable.prototype);\n\n mixin(KeyedCollection, KeyedIterable.prototype);\n mixin(IndexedCollection, IndexedIterable.prototype);\n mixin(SetCollection, SetIterable.prototype);\n\n\n // #pragma Helper functions\n\n function keyMapper(v, k) {\n return k;\n }\n\n function entryMapper(v, k) {\n return [k, v];\n }\n\n function not(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n }\n }\n\n function neg(predicate) {\n return function() {\n return -predicate.apply(this, arguments);\n }\n }\n\n function quoteString(value) {\n return typeof value === 'string' ? JSON.stringify(value) : value;\n }\n\n function defaultZipper() {\n return arrCopy(arguments);\n }\n\n function defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n }\n\n function hashIterable(iterable) {\n if (iterable.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(iterable);\n var keyed = isKeyed(iterable);\n var h = ordered ? 1 : 0;\n var size = iterable.__iterate(\n keyed ?\n ordered ?\n function(v, k) { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } :\n function(v, k) { h = h + hashMerge(hash(v), hash(k)) | 0; } :\n ordered ?\n function(v ) { h = 31 * h + hash(v) | 0; } :\n function(v ) { h = h + hash(v) | 0; }\n );\n return murmurHashOfSize(size, h);\n }\n\n function murmurHashOfSize(size, h) {\n h = imul(h, 0xCC9E2D51);\n h = imul(h << 15 | h >>> -15, 0x1B873593);\n h = imul(h << 13 | h >>> -13, 5);\n h = (h + 0xE6546B64 | 0) ^ size;\n h = imul(h ^ h >>> 16, 0x85EBCA6B);\n h = imul(h ^ h >>> 13, 0xC2B2AE35);\n h = smi(h ^ h >>> 16);\n return h;\n }\n\n function hashMerge(a, b) {\n return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int\n }\n\n var Immutable = {\n\n Iterable: Iterable,\n\n Seq: Seq,\n Collection: Collection,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS\n\n };\n\n return Immutable;\n\n}));","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nvar XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nvar normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nvar normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nvar errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nvar aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nvar processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\n\r\nfunction isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\n\r\nfunction isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nvar keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], 0, false)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, 0, false)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nvar base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nvar isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nvar isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nvar trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nvar rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n var lastArgs;\r\n return function() {\r\n lastArgs = arguments;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n if (lastArgs) {\r\n func.call(this, lastArgs)\r\n }\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\n\r\nfunction throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\nvar utils = {\r\n XHR_ERROR_UNLOAD: XHR_ERROR_UNLOAD,\r\n normalizeBinaryCriterion: normalizeBinaryCriterion,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n errorMessageFromXhr: errorMessageFromXhr,\r\n aggregators: aggregators,\r\n keysEqual: keysEqual,\r\n throttleChanges: throttleChanges,\r\n trivialPromise: trivialPromise,\r\n rejectedPromise: rejectedPromise,\r\n isDisjunctiveOperator: isDisjunctiveOperator,\r\n isConjunctiveOperator: isConjunctiveOperator,\r\n processRequestResultLock: processRequestResultLock,\r\n isUnaryOperation: isUnaryOperation,\r\n isGroupCriterion: isGroupCriterion,\r\n base64_encode: base64_encode\r\n};\r\nexport default utils;\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created because of an internal error: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\"\r\n});\r\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 */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\r\n * DevExtreme (esm/core/utils/position.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport browser from \"../utils/browser\";\r\nimport {\r\n isWindow\r\n} from \"../utils/type\";\r\nvar getDefaultAlignment = isRtlEnabled => {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : config().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nvar getElementsFromPoint = (x, y) => {\r\n var document = domAdapter.getDocument();\r\n if (browser.msie) {\r\n var result = document.msElementsFromPoint(x, y);\r\n if (result) {\r\n return Array.prototype.slice.call(result)\r\n }\r\n return []\r\n }\r\n return document.elementsFromPoint(x, y)\r\n};\r\nvar getBoundingRect = element => {\r\n if (isWindow(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n var rect;\r\n try {\r\n rect = element.getBoundingClientRect()\r\n } catch (e) {\r\n rect = {\r\n width: 0,\r\n height: 0,\r\n bottom: 0,\r\n top: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n return rect\r\n};\r\nexport {\r\n getBoundingRect,\r\n getDefaultAlignment,\r\n getElementsFromPoint\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/button.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"./themes\";\r\nimport Action from \"../core/action\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n active as activeEvents,\r\n click as clickEvent,\r\n dxClick as dxClickEvent\r\n} from \"../events/short\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../core/templates/function_template\";\r\nimport {\r\n getImageContainer,\r\n getImageSourceType\r\n} from \"../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nclass Button extends Widget {\r\n constructor() {\r\n super(...arguments);\r\n this._feedbackHideTimeout = 100\r\n }\r\n _$content() {\r\n return this.$element().find(\".dx-button-content\")\r\n }\r\n _$submitInput() {\r\n return this.$element().find(\".dx-button-submit-input\")\r\n }\r\n _attachActiveEvents(active, inactive) {\r\n var $el = this._eventBindingTarget();\r\n var selector = this._activeStateUnit;\r\n activeEvents.off($el, {\r\n namespace: \"inkRipple\",\r\n selector: selector\r\n });\r\n activeEvents.on($el, new Action(active), new Action(inactive, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"inkRipple\"\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: () => isMaterial(current()),\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n }\r\n _executeClickAction(event) {\r\n this._clickAction({\r\n validationGroup: this._validationGroupConfig,\r\n event: event\r\n })\r\n }\r\n _findGroup() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var {\r\n validationGroup: validationGroup\r\n } = this.option();\r\n return validationGroup || ValidationEngine.findGroup($element, model)\r\n }\r\n _getContentData() {\r\n var {\r\n icon: icon,\r\n text: text,\r\n type: type,\r\n _templateData: _templateData\r\n } = this.option();\r\n return extend({\r\n icon: \"back\" === type && !icon ? \"back\" : icon,\r\n text: text\r\n }, _templateData)\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n hoverStateEnabled: true,\r\n onClick: null,\r\n type: \"normal\",\r\n text: \"\",\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n validationGroup: void 0,\r\n activeStateEnabled: true,\r\n template: \"content\",\r\n useSubmitBehavior: false,\r\n useInkRipple: false,\r\n _templateData: {},\r\n stylingMode: \"contained\"\r\n })\r\n }\r\n _getSubmitAction() {\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(_ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n if (needValidate) {\r\n var validationGroup = this._validationGroupConfig;\r\n if (validationGroup) {\r\n var {\r\n status: status,\r\n complete: complete\r\n } = validationGroup.validate();\r\n validationStatus = status;\r\n if (\"pending\" === status) {\r\n needValidate = false;\r\n this.option(\"disabled\", true);\r\n complete.then(_ref2 => {\r\n var {\r\n status: status\r\n } = _ref2;\r\n this.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && this._submitInput().click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(\"dx-button\");\r\n this._renderType();\r\n this._renderStylingMode();\r\n this._renderInkRipple();\r\n this._renderClick();\r\n this._updateAriaLabel();\r\n super._initMarkup();\r\n this._updateContent();\r\n this.setAria(\"role\", \"button\")\r\n }\r\n _getAnonymousTemplateName() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n }\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new FunctionTemplate(_ref3 => {\r\n var {\r\n model: model = {},\r\n container: container\r\n } = _ref3;\r\n var {\r\n text: text,\r\n icon: icon\r\n } = model;\r\n var {\r\n iconPosition: iconPosition\r\n } = this.option();\r\n var $icon = getImageContainer(icon);\r\n var $textContainer = text && $(\"\").text(text).addClass(\"dx-button-text\");\r\n var $container = $(container);\r\n $container.append($textContainer);\r\n if (\"left\" === iconPosition) {\r\n $container.prepend($icon)\r\n } else {\r\n $icon.addClass(\"dx-icon-right\");\r\n $container.append($icon)\r\n }\r\n })\r\n });\r\n super._initTemplates()\r\n }\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onClick\":\r\n this._updateClick();\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._updateContent();\r\n this._updateAriaLabel();\r\n break;\r\n case \"type\":\r\n this._updateType();\r\n this._updateContent();\r\n break;\r\n case \"_templateData\":\r\n break;\r\n case \"template\":\r\n case \"iconPosition\":\r\n this._updateContent();\r\n break;\r\n case \"stylingMode\":\r\n this._updateStylingMode();\r\n break;\r\n case \"useSubmitBehavior\":\r\n this._updateSubmitInput();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _renderClick() {\r\n var $el = this.$element();\r\n dxClickEvent.off($el, {\r\n namespace: this.NAME\r\n });\r\n dxClickEvent.on($el, event => this._executeClickAction(event), {\r\n namespace: this.NAME\r\n });\r\n this._updateClick()\r\n }\r\n _renderInkRipple() {\r\n var {\r\n text: text,\r\n icon: icon,\r\n type: type,\r\n useInkRipple: useInkRipple\r\n } = this.option();\r\n if (useInkRipple) {\r\n var isOnlyIconButton = !text && icon || \"back\" === type;\r\n var _inkRipple = render(isOnlyIconButton ? {\r\n waveSizeCoefficient: 1,\r\n useHoldAnimation: false,\r\n isCentered: true\r\n } : {});\r\n var changeWaveVisibility = (event, visible) => {\r\n var {\r\n activeStateEnabled: activeStateEnabled,\r\n useInkRipple: useInkRipple\r\n } = this.option();\r\n if (useInkRipple && activeStateEnabled && !this._disposed) {\r\n var config = {\r\n element: this._$content(),\r\n event: event\r\n };\r\n visible ? _inkRipple.showWave(config) : _inkRipple.hideWave(config)\r\n }\r\n };\r\n this._attachActiveEvents(_ref4 => {\r\n var {\r\n event: event\r\n } = _ref4;\r\n return changeWaveVisibility(event, true)\r\n }, _ref5 => {\r\n var {\r\n event: event\r\n } = _ref5;\r\n return changeWaveVisibility(event)\r\n })\r\n }\r\n }\r\n _renderStylingMode() {\r\n var $element = this.$element();\r\n var {\r\n stylingMode: stylingMode\r\n } = this.option();\r\n if (-1 === [\"contained\", \"text\", \"outlined\"].indexOf(stylingMode)) {\r\n stylingMode = this._getDefaultOptions().stylingMode\r\n }\r\n $element.addClass(\"dx-button-mode-\".concat(stylingMode))\r\n }\r\n _renderSubmitInput() {\r\n var {\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.option();\r\n if (useSubmitBehavior) {\r\n var submitAction = this._getSubmitAction();\r\n var $content = this._$content();\r\n $(\"\").attr(\"type\", \"submit\").attr(\"tabindex\", -1).addClass(\"dx-button-submit-input\").appendTo($content);\r\n clickEvent.on(this._$submitInput(), event => submitAction({\r\n event: event\r\n }))\r\n }\r\n }\r\n _renderType() {\r\n var {\r\n type: type\r\n } = this.option();\r\n var $element = this.$element();\r\n type && $element.addClass(\"dx-button-\".concat(type))\r\n }\r\n _submitInput() {\r\n return this._$submitInput().get(0)\r\n }\r\n _supportedKeys() {\r\n var click = e => {\r\n e.preventDefault();\r\n this._executeClickAction(e)\r\n };\r\n return extend(super._supportedKeys(), {\r\n space: click,\r\n enter: click\r\n })\r\n }\r\n _updateAriaLabel() {\r\n var ariaTarget = this._getAriaTarget();\r\n var {\r\n icon: icon,\r\n text: text\r\n } = this.option();\r\n if (!text) {\r\n if (\"image\" === getImageSourceType(icon)) {\r\n icon = -1 === icon.indexOf(\"base64\") ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"Base64\"\r\n }\r\n text = icon || \"\"\r\n }\r\n ariaTarget.attr(\"aria-label\", text || null)\r\n }\r\n _updateClick() {\r\n this._clickAction = this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"],\r\n afterExecute: () => {\r\n var {\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.option();\r\n useSubmitBehavior && setTimeout(() => this._submitInput().click())\r\n }\r\n })\r\n }\r\n _updateContent() {\r\n var $element = this.$element();\r\n var $content = this._$content();\r\n var data = this._getContentData();\r\n var {\r\n template: template,\r\n iconPosition: iconPosition\r\n } = this.option();\r\n var {\r\n icon: icon,\r\n text: text\r\n } = data;\r\n $content.length ? $content.empty() : $content = $(\"
\").addClass(\"dx-button-content\").appendTo($element);\r\n $element.toggleClass(\"dx-button-has-icon\", !!icon).toggleClass(\"dx-button-icon-right\", !!icon && \"left\" !== iconPosition).toggleClass(\"dx-button-has-text\", !!text);\r\n var $template = $(this._getTemplateByOption(\"template\").render({\r\n model: data,\r\n container: getPublicElement($content),\r\n transclude: this._templateManager.anonymousTemplateName === template\r\n }));\r\n if ($template.hasClass(\"dx-template-wrapper\")) {\r\n $template.addClass(\"dx-button-content\");\r\n $content.replaceWith($template)\r\n }\r\n this._updateSubmitInput()\r\n }\r\n _updateSubmitInput() {\r\n var {\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.option();\r\n var $submitInput = this._$submitInput();\r\n if (!useSubmitBehavior && $submitInput.length) {\r\n $submitInput.remove()\r\n } else if (useSubmitBehavior && !$submitInput.length) {\r\n this._renderSubmitInput()\r\n }\r\n }\r\n _updateStylingMode() {\r\n var $element = this.$element();\r\n [\"contained\", \"text\", \"outlined\"].map(mode => \"dx-button-mode-\".concat(mode)).forEach($element.removeClass.bind($element));\r\n this._renderStylingMode()\r\n }\r\n _updateType() {\r\n var $element = this.$element();\r\n [\"back\", \"danger\", \"default\", \"normal\", \"success\"].map(type => \"dx-button-\".concat(type)).forEach($element.removeClass.bind($element));\r\n this._renderType()\r\n }\r\n get _validationGroupConfig() {\r\n return ValidationEngine.getGroupConfig(this._findGroup())\r\n }\r\n}\r\nregisterComponent(\"dxButton\", Button);\r\nexport default Button;\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nvar REMOVE_EVENT_NAME = \"dxremove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), REMOVE_EVENT_NAME, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), REMOVE_EVENT_NAME, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement,\r\n contains,\r\n closestCommonParent\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n eventDelta,\r\n eventData\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../core/utils/version\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar TOUCH_BOUNDARY = 10;\r\nvar abs = Math.abs;\r\nvar isInput = function(element) {\r\n return $(element).is(\"input, textarea, select, button ,:focus, :focus *\")\r\n};\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this._makeElementClickable($(element))\r\n },\r\n _makeElementClickable: function($element) {\r\n if (!$element.attr(\"onclick\")) {\r\n $element.attr(\"onclick\", \"void(0)\")\r\n }\r\n },\r\n start: function(e) {\r\n this._blurPrevented = e.isDefaultPrevented();\r\n this._startTarget = e.target;\r\n this._startEventData = eventData(e)\r\n },\r\n end: function(e) {\r\n if (this._eventOutOfElement(e, this.getElement().get(0)) || e.type === pointerEvents.cancel) {\r\n this._cancel(e);\r\n return\r\n }\r\n if (!isInput(e.target) && !this._blurPrevented) {\r\n resetActiveElement()\r\n }\r\n this._accept(e);\r\n this._clickAnimationFrame = misc.requestAnimationFrame(function() {\r\n this._fireClickEvent(e)\r\n }.bind(this))\r\n },\r\n _eventOutOfElement: function(e, element) {\r\n var target = e.target;\r\n var targetChanged = !contains(element, target) && element !== target;\r\n var gestureDelta = eventDelta(eventData(e), this._startEventData);\r\n var boundsExceeded = abs(gestureDelta.x) > TOUCH_BOUNDARY || abs(gestureDelta.y) > TOUCH_BOUNDARY;\r\n return targetChanged || boundsExceeded\r\n },\r\n _fireClickEvent: function(e) {\r\n this._fireEvent(CLICK_EVENT_NAME, e, {\r\n target: closestCommonParent(this._startTarget, e.target)\r\n })\r\n },\r\n dispose: function() {\r\n misc.cancelAnimationFrame(this._clickAnimationFrame)\r\n }\r\n});\r\nvar realDevice = devices.real();\r\nvar useNativeClick = realDevice.generic || realDevice.ios && compareVersions(realDevice.version, [9, 3]) >= 0 || realDevice.android && compareVersions(realDevice.version, [5]) >= 0;\r\n! function() {\r\n var isNativeClickEvent = function(target) {\r\n return useNativeClick || $(target).closest(\".dx-native-click\").length\r\n };\r\n var prevented = null;\r\n var lastFiredEvent = null;\r\n\r\n function onNodeRemove() {\r\n lastFiredEvent = null\r\n }\r\n var clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && isNativeClickEvent(e.target) && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n };\r\n ClickEmitter = ClickEmitter.inherit({\r\n _makeElementClickable: function($element) {\r\n if (!isNativeClickEvent($element)) {\r\n this.callBase($element)\r\n }\r\n eventsEngine.on($element, \"click\", clickHandler)\r\n },\r\n configure: function(data) {\r\n this.callBase(data);\r\n if (data.useNative) {\r\n this.getElement().addClass(\"dx-native-click\")\r\n }\r\n },\r\n start: function(e) {\r\n prevented = null;\r\n if (!isNativeClickEvent(e.target)) {\r\n this.callBase(e)\r\n }\r\n },\r\n end: function(e) {\r\n if (!isNativeClickEvent(e.target)) {\r\n this.callBase(e)\r\n }\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n })\r\n}();\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = $(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && isInput($target)) {\r\n resetActiveElement()\r\n }\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n inArray\r\n} from \"./array\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n ensureDefined\r\n} from \"./common\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints,\r\n msMaxTouchPoints: msMaxTouchPoints,\r\n pointerEnabled: pointerEnabled\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n msTransition: \"MsTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n version: version,\r\n mac: isMac\r\n } = devices.real();\r\n var isObsoleteAndroid = version && version[0] < 4 && \"android\" === platform;\r\n var isNativeScrollDevice = !isObsoleteAndroid && inArray(platform, [\"ios\", \"android\"]) > -1 || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty, pointerEnabled) {\r\n var isPointerEnabled = ensureDefined(pointerEnabled, true);\r\n var canUsePointerEvent = ensureDefined(pointerEnabled, false);\r\n return hasWindowProperty(\"PointerEvent\") && isPointerEnabled || canUsePointerEvent\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty, pointerEnabled);\r\nvar touchPointersPresent = !!maxTouchPoints || !!msMaxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\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.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\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\nvar BlockTree = require(\"./BlockTree\");\n\nvar ContentState = require(\"./ContentState\");\n\nvar EditorBidiService = require(\"./EditorBidiService\");\n\nvar SelectionState = require(\"./SelectionState\");\n\nvar Immutable = require(\"immutable\");\n\nvar OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Stack = Immutable.Stack,\n OrderedMap = Immutable.OrderedMap,\n List = Immutable.List; // When configuring an editor, the user can chose to provide or not provide\n// basically all keys. `currentContent` varies, so this type doesn't include it.\n// (See the types defined below.)\n\nvar defaultRecord = {\n allowUndo: true,\n currentContent: null,\n decorator: null,\n directionMap: null,\n forceSelection: false,\n inCompositionMode: false,\n inlineStyleOverride: null,\n lastChangeType: null,\n nativelyRenderedContent: null,\n redoStack: Stack(),\n selection: null,\n treeMap: null,\n undoStack: Stack()\n};\nvar EditorStateRecord = Record(defaultRecord);\n\nvar EditorState = /*#__PURE__*/function () {\n EditorState.createEmpty = function createEmpty(decorator) {\n return this.createWithText('', decorator);\n };\n\n EditorState.createWithText = function createWithText(text, decorator) {\n return EditorState.createWithContent(ContentState.createFromText(text), decorator);\n };\n\n EditorState.createWithContent = function createWithContent(contentState, decorator) {\n if (contentState.getBlockMap().count() === 0) {\n return EditorState.createEmpty(decorator);\n }\n\n var firstKey = contentState.getBlockMap().first().getKey();\n return EditorState.create({\n currentContent: contentState,\n undoStack: Stack(),\n redoStack: Stack(),\n decorator: decorator || null,\n selection: SelectionState.createEmpty(firstKey)\n });\n };\n\n EditorState.create = function create(config) {\n var currentContent = config.currentContent,\n decorator = config.decorator;\n\n var recordConfig = _objectSpread({}, config, {\n treeMap: generateNewTreeMap(currentContent, decorator),\n directionMap: EditorBidiService.getDirectionMap(currentContent)\n });\n\n return new EditorState(new EditorStateRecord(recordConfig));\n };\n\n EditorState.fromJS = function fromJS(config) {\n return new EditorState(new EditorStateRecord(_objectSpread({}, config, {\n directionMap: config.directionMap != null ? OrderedMap(config.directionMap) : config.directionMap,\n inlineStyleOverride: config.inlineStyleOverride != null ? OrderedSet(config.inlineStyleOverride) : config.inlineStyleOverride,\n nativelyRenderedContent: config.nativelyRenderedContent != null ? ContentState.fromJS(config.nativelyRenderedContent) : config.nativelyRenderedContent,\n redoStack: config.redoStack != null ? Stack(config.redoStack.map(function (v) {\n return ContentState.fromJS(v);\n })) : config.redoStack,\n selection: config.selection != null ? new SelectionState(config.selection) : config.selection,\n treeMap: config.treeMap != null ? OrderedMap(config.treeMap).map(function (v) {\n return List(v).map(function (v) {\n return BlockTree.fromJS(v);\n });\n }) : config.treeMap,\n undoStack: config.undoStack != null ? Stack(config.undoStack.map(function (v) {\n return ContentState.fromJS(v);\n })) : config.undoStack,\n currentContent: ContentState.fromJS(config.currentContent)\n })));\n };\n\n EditorState.set = function set(editorState, put) {\n var map = editorState.getImmutable().withMutations(function (state) {\n var existingDecorator = state.get('decorator');\n var decorator = existingDecorator;\n\n if (put.decorator === null) {\n decorator = null;\n } else if (put.decorator) {\n decorator = put.decorator;\n }\n\n var newContent = put.currentContent || editorState.getCurrentContent();\n\n if (decorator !== existingDecorator) {\n var treeMap = state.get('treeMap');\n var newTreeMap;\n\n if (decorator && existingDecorator) {\n newTreeMap = regenerateTreeForNewDecorator(newContent, newContent.getBlockMap(), treeMap, decorator, existingDecorator);\n } else {\n newTreeMap = generateNewTreeMap(newContent, decorator);\n }\n\n state.merge({\n decorator: decorator,\n treeMap: newTreeMap,\n nativelyRenderedContent: null\n });\n return;\n }\n\n var existingContent = editorState.getCurrentContent();\n\n if (newContent !== existingContent) {\n state.set('treeMap', regenerateTreeForNewBlocks(editorState, newContent.getBlockMap(), newContent.getEntityMap(), decorator));\n }\n\n state.merge(put);\n });\n return new EditorState(map);\n };\n\n var _proto = EditorState.prototype;\n\n _proto.toJS = function toJS() {\n return this.getImmutable().toJS();\n };\n\n _proto.getAllowUndo = function getAllowUndo() {\n return this.getImmutable().get('allowUndo');\n };\n\n _proto.getCurrentContent = function getCurrentContent() {\n return this.getImmutable().get('currentContent');\n };\n\n _proto.getUndoStack = function getUndoStack() {\n return this.getImmutable().get('undoStack');\n };\n\n _proto.getRedoStack = function getRedoStack() {\n return this.getImmutable().get('redoStack');\n };\n\n _proto.getSelection = function getSelection() {\n return this.getImmutable().get('selection');\n };\n\n _proto.getDecorator = function getDecorator() {\n return this.getImmutable().get('decorator');\n };\n\n _proto.isInCompositionMode = function isInCompositionMode() {\n return this.getImmutable().get('inCompositionMode');\n };\n\n _proto.mustForceSelection = function mustForceSelection() {\n return this.getImmutable().get('forceSelection');\n };\n\n _proto.getNativelyRenderedContent = function getNativelyRenderedContent() {\n return this.getImmutable().get('nativelyRenderedContent');\n };\n\n _proto.getLastChangeType = function getLastChangeType() {\n return this.getImmutable().get('lastChangeType');\n }\n /**\n * While editing, the user may apply inline style commands with a collapsed\n * cursor, intending to type text that adopts the specified style. In this\n * case, we track the specified style as an \"override\" that takes precedence\n * over the inline style of the text adjacent to the cursor.\n *\n * If null, there is no override in place.\n */\n ;\n\n _proto.getInlineStyleOverride = function getInlineStyleOverride() {\n return this.getImmutable().get('inlineStyleOverride');\n };\n\n EditorState.setInlineStyleOverride = function setInlineStyleOverride(editorState, inlineStyleOverride) {\n return EditorState.set(editorState, {\n inlineStyleOverride: inlineStyleOverride\n });\n }\n /**\n * Get the appropriate inline style for the editor state. If an\n * override is in place, use it. Otherwise, the current style is\n * based on the location of the selection state.\n */\n ;\n\n _proto.getCurrentInlineStyle = function getCurrentInlineStyle() {\n var override = this.getInlineStyleOverride();\n\n if (override != null) {\n return override;\n }\n\n var content = this.getCurrentContent();\n var selection = this.getSelection();\n\n if (selection.isCollapsed()) {\n return getInlineStyleForCollapsedSelection(content, selection);\n }\n\n return getInlineStyleForNonCollapsedSelection(content, selection);\n };\n\n _proto.getBlockTree = function getBlockTree(blockKey) {\n return this.getImmutable().getIn(['treeMap', blockKey]);\n };\n\n _proto.isSelectionAtStartOfContent = function isSelectionAtStartOfContent() {\n var firstKey = this.getCurrentContent().getBlockMap().first().getKey();\n return this.getSelection().hasEdgeWithin(firstKey, 0, 0);\n };\n\n _proto.isSelectionAtEndOfContent = function isSelectionAtEndOfContent() {\n var content = this.getCurrentContent();\n var blockMap = content.getBlockMap();\n var last = blockMap.last();\n var end = last.getLength();\n return this.getSelection().hasEdgeWithin(last.getKey(), end, end);\n };\n\n _proto.getDirectionMap = function getDirectionMap() {\n return this.getImmutable().get('directionMap');\n }\n /**\n * Incorporate native DOM selection changes into the EditorState. This\n * method can be used when we simply want to accept whatever the DOM\n * has given us to represent selection, and we do not need to re-render\n * the editor.\n *\n * To forcibly move the DOM selection, see `EditorState.forceSelection`.\n */\n ;\n\n EditorState.acceptSelection = function acceptSelection(editorState, selection) {\n return updateSelection(editorState, selection, false);\n }\n /**\n * At times, we need to force the DOM selection to be where we\n * need it to be. This can occur when the anchor or focus nodes\n * are non-text nodes, for instance. In this case, we want to trigger\n * a re-render of the editor, which in turn forces selection into\n * the correct place in the DOM. The `forceSelection` method\n * accomplishes this.\n *\n * This method should be used in cases where you need to explicitly\n * move the DOM selection from one place to another without a change\n * in ContentState.\n */\n ;\n\n EditorState.forceSelection = function forceSelection(editorState, selection) {\n if (!selection.getHasFocus()) {\n selection = selection.set('hasFocus', true);\n }\n\n return updateSelection(editorState, selection, true);\n }\n /**\n * Move selection to the end of the editor without forcing focus.\n */\n ;\n\n EditorState.moveSelectionToEnd = function moveSelectionToEnd(editorState) {\n var content = editorState.getCurrentContent();\n var lastBlock = content.getLastBlock();\n var lastKey = lastBlock.getKey();\n var length = lastBlock.getLength();\n return EditorState.acceptSelection(editorState, new SelectionState({\n anchorKey: lastKey,\n anchorOffset: length,\n focusKey: lastKey,\n focusOffset: length,\n isBackward: false\n }));\n }\n /**\n * Force focus to the end of the editor. This is useful in scenarios\n * where we want to programmatically focus the input and it makes sense\n * to allow the user to continue working seamlessly.\n */\n ;\n\n EditorState.moveFocusToEnd = function moveFocusToEnd(editorState) {\n var afterSelectionMove = EditorState.moveSelectionToEnd(editorState);\n return EditorState.forceSelection(afterSelectionMove, afterSelectionMove.getSelection());\n }\n /**\n * Push the current ContentState onto the undo stack if it should be\n * considered a boundary state, and set the provided ContentState as the\n * new current content.\n */\n ;\n\n EditorState.push = function push(editorState, contentState, changeType) {\n var forceSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n if (editorState.getCurrentContent() === contentState) {\n return editorState;\n }\n\n var directionMap = EditorBidiService.getDirectionMap(contentState, editorState.getDirectionMap());\n\n if (!editorState.getAllowUndo()) {\n return EditorState.set(editorState, {\n currentContent: contentState,\n directionMap: directionMap,\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: null\n });\n }\n\n var selection = editorState.getSelection();\n var currentContent = editorState.getCurrentContent();\n var undoStack = editorState.getUndoStack();\n var newContent = contentState;\n\n if (selection !== currentContent.getSelectionAfter() || mustBecomeBoundary(editorState, changeType)) {\n undoStack = undoStack.push(currentContent);\n newContent = newContent.set('selectionBefore', selection);\n } else if (changeType === 'insert-characters' || changeType === 'backspace-character' || changeType === 'delete-character') {\n // Preserve the previous selection.\n newContent = newContent.set('selectionBefore', currentContent.getSelectionBefore());\n }\n\n var inlineStyleOverride = editorState.getInlineStyleOverride(); // Don't discard inline style overrides for the following change types:\n\n var overrideChangeTypes = ['adjust-depth', 'change-block-type', 'split-block'];\n\n if (overrideChangeTypes.indexOf(changeType) === -1) {\n inlineStyleOverride = null;\n }\n\n var editorStateChanges = {\n currentContent: newContent,\n directionMap: directionMap,\n undoStack: undoStack,\n redoStack: Stack(),\n lastChangeType: changeType,\n selection: contentState.getSelectionAfter(),\n forceSelection: forceSelection,\n inlineStyleOverride: inlineStyleOverride\n };\n return EditorState.set(editorState, editorStateChanges);\n }\n /**\n * Make the top ContentState in the undo stack the new current content and\n * push the current content onto the redo stack.\n */\n ;\n\n EditorState.undo = function undo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var undoStack = editorState.getUndoStack();\n var newCurrentContent = undoStack.peek();\n\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: undoStack.shift(),\n redoStack: editorState.getRedoStack().push(currentContent),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'undo',\n nativelyRenderedContent: null,\n selection: currentContent.getSelectionBefore()\n });\n }\n /**\n * Make the top ContentState in the redo stack the new current content and\n * push the current content onto the undo stack.\n */\n ;\n\n EditorState.redo = function redo(editorState) {\n if (!editorState.getAllowUndo()) {\n return editorState;\n }\n\n var redoStack = editorState.getRedoStack();\n var newCurrentContent = redoStack.peek();\n\n if (!newCurrentContent) {\n return editorState;\n }\n\n var currentContent = editorState.getCurrentContent();\n var directionMap = EditorBidiService.getDirectionMap(newCurrentContent, editorState.getDirectionMap());\n return EditorState.set(editorState, {\n currentContent: newCurrentContent,\n directionMap: directionMap,\n undoStack: editorState.getUndoStack().push(currentContent),\n redoStack: redoStack.shift(),\n forceSelection: true,\n inlineStyleOverride: null,\n lastChangeType: 'redo',\n nativelyRenderedContent: null,\n selection: newCurrentContent.getSelectionAfter()\n });\n }\n /**\n * Not for public consumption.\n */\n ;\n\n function EditorState(immutable) {\n _defineProperty(this, \"_immutable\", void 0);\n\n this._immutable = immutable;\n }\n /**\n * Not for public consumption.\n */\n\n\n _proto.getImmutable = function getImmutable() {\n return this._immutable;\n };\n\n return EditorState;\n}();\n/**\n * Set the supplied SelectionState as the new current selection, and set\n * the `force` flag to trigger manual selection placement by the view.\n */\n\n\nfunction updateSelection(editorState, selection, forceSelection) {\n return EditorState.set(editorState, {\n selection: selection,\n forceSelection: forceSelection,\n nativelyRenderedContent: null,\n inlineStyleOverride: null\n });\n}\n/**\n * Regenerate the entire tree map for a given ContentState and decorator.\n * Returns an OrderedMap that maps all available ContentBlock objects.\n */\n\n\nfunction generateNewTreeMap(contentState, decorator) {\n return contentState.getBlockMap().map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }).toOrderedMap();\n}\n/**\n * Regenerate tree map objects for all ContentBlocks that have changed\n * between the current editorState and newContent. Returns an OrderedMap\n * with only changed regenerated tree map objects.\n */\n\n\nfunction regenerateTreeForNewBlocks(editorState, newBlockMap, newEntityMap, decorator) {\n var contentState = editorState.getCurrentContent().set('entityMap', newEntityMap);\n var prevBlockMap = contentState.getBlockMap();\n var prevTreeMap = editorState.getImmutable().get('treeMap');\n return prevTreeMap.merge(newBlockMap.toSeq().filter(function (block, key) {\n return block !== prevBlockMap.get(key);\n }).map(function (block) {\n return BlockTree.generate(contentState, block, decorator);\n }));\n}\n/**\n * Generate tree map objects for a new decorator object, preserving any\n * decorations that are unchanged from the previous decorator.\n *\n * Note that in order for this to perform optimally, decoration Lists for\n * decorators should be preserved when possible to allow for direct immutable\n * List comparison.\n */\n\n\nfunction regenerateTreeForNewDecorator(content, blockMap, previousTreeMap, decorator, existingDecorator) {\n return previousTreeMap.merge(blockMap.toSeq().filter(function (block) {\n return decorator.getDecorations(block, content) !== existingDecorator.getDecorations(block, content);\n }).map(function (block) {\n return BlockTree.generate(content, block, decorator);\n }));\n}\n/**\n * Return whether a change should be considered a boundary state, given\n * the previous change type. Allows us to discard potential boundary states\n * during standard typing or deletion behavior.\n */\n\n\nfunction mustBecomeBoundary(editorState, changeType) {\n var lastChangeType = editorState.getLastChangeType();\n return changeType !== lastChangeType || changeType !== 'insert-characters' && changeType !== 'backspace-character' && changeType !== 'delete-character';\n}\n\nfunction getInlineStyleForCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey); // If the cursor is not at the start of the block, look backward to\n // preserve the style of the preceding character.\n\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n } // The caret is at position zero in this block. If the block has any\n // text at all, use the style of the first character.\n\n\n if (startBlock.getLength()) {\n return startBlock.getInlineStyleAt(0);\n } // Otherwise, look upward in the document to find the closest character.\n\n\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction getInlineStyleForNonCollapsedSelection(content, selection) {\n var startKey = selection.getStartKey();\n var startOffset = selection.getStartOffset();\n var startBlock = content.getBlockForKey(startKey); // If there is a character just inside the selection, use its style.\n\n if (startOffset < startBlock.getLength()) {\n return startBlock.getInlineStyleAt(startOffset);\n } // Check if the selection at the end of a non-empty block. Use the last\n // style in the block.\n\n\n if (startOffset > 0) {\n return startBlock.getInlineStyleAt(startOffset - 1);\n } // Otherwise, look upward in the document to find the closest character.\n\n\n return lookUpwardForInlineStyle(content, startKey);\n}\n\nfunction lookUpwardForInlineStyle(content, fromKey) {\n var lastNonEmpty = content.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === fromKey;\n }).skip(1).skipUntil(function (block, _) {\n return block.getLength();\n }).first();\n\n if (lastNonEmpty) {\n return lastNonEmpty.getInlineStyleAt(lastNonEmpty.getLength() - 1);\n }\n\n return OrderedSet();\n}\n\nmodule.exports = EditorState;","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && inArray(e.target, $(this._focusTarget)) < 0;\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n })\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nexport default KeyboardProcessor;\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace,\r\n isFocusable: isFocusable\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut);\r\n if (domAdapter.hasDocumentProperty(\"onbeforeactivate\")) {\r\n eventsEngine.on($el, addNamespace(\"beforeactivate\", namespace), e => isFocusable(null, e.target) || e.preventDefault())\r\n }\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace));\r\n if (domAdapter.hasDocumentProperty(\"onbeforeactivate\")) {\r\n eventsEngine.off($el, addNamespace(\"beforeactivate\", namespace))\r\n }\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nexport var dxScrollInit = {\r\n on: function($el, onInit, eventData) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscrollinit\", namespace), eventData, onInit)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscrollinit\", namespace))\r\n }\r\n};\r\nexport var dxScrollStart = {\r\n on: function($el, onStart) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscrollstart\", namespace), onStart)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscrollstart\", namespace))\r\n }\r\n};\r\nexport var dxScrollMove = {\r\n on: function($el, onScroll) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscroll\", namespace), onScroll)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscroll\", namespace))\r\n }\r\n};\r\nexport var dxScrollEnd = {\r\n on: function($el, onEnd) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscrollend\", namespace), onEnd)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscrollend\", namespace))\r\n }\r\n};\r\nexport var dxScrollStop = {\r\n on: function($el, onStop) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscrollstop\", namespace), onStop)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscrollstop\", namespace))\r\n }\r\n};\r\nexport var dxScrollCancel = {\r\n on: function($el, onCancel) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxscrollcancel\", namespace), onCancel)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxscrollcancel\", namespace))\r\n }\r\n};\r\nexport var dxPointerDown = {\r\n on: function($el, onPointerDown) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(pointerEvents.down, namespace), onPointerDown)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(pointerEvents.down, namespace))\r\n }\r\n};\r\nexport var dxPointerUp = {\r\n on: function($el, onPointerUp) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(pointerEvents.up, namespace), onPointerUp)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(pointerEvents.up, namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar isReady = () => \"complete\" === domAdapter.getReadyState() || \"loading\" !== domAdapter.getReadyState() && !domAdapter.getDocumentElement().doScroll;\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && isReady()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.widget.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Action from \"../../core/action\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n active,\r\n focus,\r\n hover,\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focusable as focusableSelector\r\n} from \"./selectors\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport \"../../events/click\";\r\nimport \"../../events/core/emitter.feedback\";\r\nimport \"../../events/hover\";\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = isDefined(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = DOMComponent.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: () => ({}),\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: void 0,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var syncOptions = () => this._options.silent(optionsContainer, extend({}, innerWidget.option()));\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup() {\r\n var {\r\n disabled: disabled,\r\n visible: visible\r\n } = this.option();\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint() {\r\n var {\r\n hint: hint\r\n } = this.option();\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent() {\r\n deferRender(() => !this._disposed ? this._renderContentImpl() : void 0).done(() => !this._disposed ? this._fireContentReadyAction() : void 0)\r\n },\r\n _renderContentImpl: noop,\r\n _fireContentReadyAction: deferRenderer((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible);\r\n this.setAria(\"hidden\", !visible || void 0)\r\n },\r\n _renderFocusState() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey() {\r\n var $el = this._focusTarget();\r\n var {\r\n accessKey: accessKey\r\n } = this.option();\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n disabled: disabled\r\n } = this.option();\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget() {\r\n return this.$element()\r\n },\r\n _focusTarget() {\r\n return this._getActiveElement()\r\n },\r\n _getActiveElement() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return activeElement.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget() {\r\n var {\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: () => this._updateFocusState(event, true),\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: () => this._updateFocusState(event, false),\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState(_ref, isFocused) {\r\n var {\r\n target: target\r\n } = _ref;\r\n if (-1 !== inArray(target, this._focusTarget())) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: () => [],\r\n _attachKeyboardEvents() {\r\n this._detachKeyboardEvents();\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), opts => this._keyboardHandler(opts))\r\n }\r\n },\r\n _keyboardHandler(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var {\r\n originalEvent: originalEvent,\r\n keyName: keyName,\r\n which: which\r\n } = options;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var {\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n keyboardListeners.forEach(listener => listener && listener._keyboardHandler(options));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents() {\r\n keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents() {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n hover.on($el, new Action(_ref2 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref2;\r\n this._hoverStartHandler(event);\r\n this.option(\"hoveredElement\", $(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), event => {\r\n this.option(\"hoveredElement\", null);\r\n this._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents() {\r\n var {\r\n activeStateEnabled: activeStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n active.on($el, new Action(_ref3 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref3;\r\n return this._toggleActiveState($(element), true, event)\r\n }), new Action(_ref4 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref4;\r\n return this._toggleActiveState($(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _detachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.on($el, e => this._focusInHandler(e), e => this._focusOutHandler(e), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: (index, el) => $(el).is(focusableSelector)\r\n })\r\n },\r\n _hoverStartHandler: noop,\r\n _hoverEndHandler: noop,\r\n _toggleActiveState($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover($el, $previous) {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled,\r\n disabled: disabled,\r\n isActive: isActive\r\n } = this.option();\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (isPlainObject(args[0])) {\r\n each(args[0], (option, value) => this._setWidgetOption(widgetName, [option, value]));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible() {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n return this.callBase() && visible\r\n },\r\n beginUpdate() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria() {\r\n if (!isPlainObject(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n each(arguments.length <= 0 ? void 0 : arguments[0], (name, value) => setAttribute(name, value, target))\r\n }\r\n },\r\n isReady() {\r\n return this._ready()\r\n },\r\n repaint() {\r\n this._refresh()\r\n },\r\n focus() {\r\n focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = () => extend(currentKeys, {\r\n [key]: handler\r\n })\r\n }\r\n});\r\nWidget.getOptionsFromContainer = _ref5 => {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = _ref5;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable = true;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement() === element\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n if (nativeRequest && !nativeCancel) {\r\n var canceledRequests = {};\r\n request = function(callback) {\r\n var requestId = nativeRequest.call(window, (function() {\r\n try {\r\n if (requestId in canceledRequests) {\r\n return\r\n }\r\n callback.apply(this, arguments)\r\n } finally {\r\n delete canceledRequests[requestId]\r\n }\r\n }));\r\n return requestId\r\n };\r\n cancel = function(requestId) {\r\n canceledRequests[requestId] = true\r\n }\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale(.+)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return pairToObject(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what);\r\n var currentOffset = $what.offset();\r\n var result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = $(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: $what.outerWidth(),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: $what.outerHeight(),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if ( of .preventDefault) {\r\n h.atLocation = of .pageX;\r\n v.atLocation = of .pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $( of );\r\n if (isWindow( of [0])) {\r\n h.atLocation = of .scrollLeft();\r\n v.atLocation = of .scrollTop();\r\n if (\"phone\" === devices.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : of .width();\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : of .height()\r\n }\r\n } else if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = of .width();\r\n v.atSize = of .height()\r\n } else {\r\n var ofRect = getBoundingRect( of .get(0));\r\n var o = getOffsetWithoutScale( of );\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, of .outerWidth());\r\n v.atSize = Math.max(ofRect.height, of .outerHeight())\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window);\r\n var windowWidth = win.width();\r\n var windowHeight = win.height();\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = domAdapter.getDocumentElement();\r\n var hZoomLevel = touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary) {\r\n var $boundary = $(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = $boundary.width();\r\n boundaryHeight = $boundary.height()\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n currentElement.setAttribute(\"style\", style.replace(scale, \"\"));\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n currentElement.setAttribute(\"style\", style)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n resetPosition($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nexport default {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CA\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PH\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"root\",\r\n \"az-Cyrl\": \"root\",\r\n \"blt-Latn\": \"root\",\r\n \"bm-Nkoo\": \"root\",\r\n \"bs-Cyrl\": \"root\",\r\n \"byn-Latn\": \"root\",\r\n \"cu-Glag\": \"root\",\r\n \"dje-Arab\": \"root\",\r\n \"dyo-Arab\": \"root\",\r\n \"en-Dsrt\": \"root\",\r\n \"en-Shaw\": \"root\",\r\n \"ff-Adlm\": \"root\",\r\n \"ff-Arab\": \"root\",\r\n \"ha-Arab\": \"root\",\r\n \"hi-Latn\": \"root\",\r\n \"iu-Latn\": \"root\",\r\n \"kk-Arab\": \"root\",\r\n \"ks-Deva\": \"root\",\r\n \"ku-Arab\": \"root\",\r\n \"ky-Arab\": \"root\",\r\n \"ky-Latn\": \"root\",\r\n \"ml-Arab\": \"root\",\r\n \"mn-Mong\": \"root\",\r\n \"mni-Mtei\": \"root\",\r\n \"ms-Arab\": \"root\",\r\n \"pa-Arab\": \"root\",\r\n \"sat-Deva\": \"root\",\r\n \"sd-Deva\": \"root\",\r\n \"sd-Khoj\": \"root\",\r\n \"sd-Sind\": \"root\",\r\n \"shi-Latn\": \"root\",\r\n \"so-Arab\": \"root\",\r\n \"sr-Latn\": \"root\",\r\n \"sw-Arab\": \"root\",\r\n \"tg-Arab\": \"root\",\r\n \"ug-Cyrl\": \"root\",\r\n \"uz-Arab\": \"root\",\r\n \"uz-Cyrl\": \"root\",\r\n \"vai-Latn\": \"root\",\r\n \"wo-Arab\": \"root\",\r\n \"yo-Arab\": \"root\",\r\n \"yue-Hans\": \"root\",\r\n \"zh-Hant\": \"root\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\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}","/**\r\n * DevExtreme (esm/ui/validation_engine.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction,\r\n isPromise,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport numberLocalization from \"../localization/number\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport Promise from \"../core/polyfills/promise\";\r\nimport {\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nclass BaseRuleValidator {\r\n constructor() {\r\n this.NAME = \"base\"\r\n }\r\n defaultMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n }\r\n defaultFormattedMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n }\r\n _isValueEmpty(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n }\r\n validate(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(itemValue => {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n}\r\nclass RequiredRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"required\"\r\n }\r\n _validate(value, rule) {\r\n if (!isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n}\r\nclass NumericRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"numeric\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return isNumeric(value)\r\n }\r\n }\r\n}\r\nclass RangeRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"range\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = isDefined(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (isDefined(min)) {\r\n if (isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if (isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n}\r\nclass StringLengthRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"stringLength\"\r\n }\r\n _validate(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n}\r\nclass CustomRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"custom\"\r\n }\r\n validate(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n}\r\nclass AsyncRuleValidator extends CustomRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"async\"\r\n }\r\n validate(value, rule) {\r\n if (!isDefined(rule.reevaluate)) {\r\n extend(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!isPromise(callbackResult)) {\r\n throw errors.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise(fromPromise(callbackResult).promise())\r\n }\r\n _getWrappedPromise(promise) {\r\n var deferred = new Deferred;\r\n promise.then((function(res) {\r\n deferred.resolve(res)\r\n }), (function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if (isDefined(err)) {\r\n if (isString(err)) {\r\n res.message = err\r\n } else if (isObject(err) && isDefined(err.message) && isString(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n deferred.resolve(res)\r\n }));\r\n return deferred.promise()\r\n }\r\n}\r\nclass CompareRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"compare\"\r\n }\r\n _validate(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n}\r\nclass PatternRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"pattern\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n}\r\nclass EmailRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"email\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n }\r\n}\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new EventsStrategy(this)\r\n },\r\n validate() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n each(this.validators, (_, validator) => {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n this._addPendingValidator(validator)\r\n }\r\n this._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return extend({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents() {\r\n each(this.validators, (_, validator) => {\r\n this._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator(validator) {\r\n var foundValidator = grep(this._pendingValidators, (function(val) {\r\n return val === validator\r\n }))[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator(validator) {\r\n var index = inArray(validator, this._pendingValidators);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules(brokenRules) {\r\n var orderedRules = [];\r\n each(this.validators, (function(_, validator) {\r\n var foundRules = grep(brokenRules, (function(rule) {\r\n return rule.validator === validator\r\n }));\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n }));\r\n return orderedRules\r\n },\r\n _updateBrokenRules(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = grep(brokenRules, (function(rule) {\r\n return rule.validator !== result.validator\r\n }));\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = extend({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._resetValidationInfo();\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(() => {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator(validator) {\r\n var index = inArray(validator, this.validators);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator(validator) {\r\n if (inArray(validator, this.validators) < 0) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset() {\r\n each(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig(group) {\r\n var result = grep(this.groups, (function(config) {\r\n return config.group === group\r\n }));\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup($element, model) {\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = inArray(config, this.groups);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage(info) {\r\n var {\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n } = info;\r\n if (!isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule(info) {\r\n var {\r\n result: result,\r\n rule: rule\r\n } = info;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate(value, rules, name) {\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var asyncRuleItems = [];\r\n each(rules || [], (_, rule) => {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if (isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _validateAsyncRules(_ref) {\r\n var {\r\n result: result,\r\n value: value,\r\n items: items,\r\n name: name\r\n } = _ref;\r\n var asyncResults = [];\r\n each(items, (_, item) => {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!isPromise(validateResult)) {\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: this._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(res => {\r\n var ruleResult = this._getPatchedRuleResult(res);\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = Promise.all(asyncResults).then(values => this._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig(_ref2) {\r\n var {\r\n rule: rule,\r\n ruleResult: ruleResult,\r\n validator: validator,\r\n name: name\r\n } = _ref2;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if (isDefined(ruleResult.message) && isString(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult(ruleResult) {\r\n var result;\r\n if (isObject(ruleResult)) {\r\n result = extend({}, ruleResult);\r\n if (!isDefined(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: isBoolean(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult(_ref3) {\r\n var {\r\n values: values,\r\n result: result\r\n } = _ref3;\r\n each(values, (index, val) => {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions(options) {\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach(prop => {\r\n if (prop in options) {\r\n extend(initedOptions, this.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions(_ref4, options) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref4;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var {\r\n validationStatus: validationStatus\r\n } = options;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var {\r\n validationErrors: validationErrors\r\n } = options;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nexport default ValidationEngine;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexport {\r\n styleProp,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n setWidth,\r\n setHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nvar getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getBoxSizingOffset = function(name, elementStyles, boxParams) {\r\n var size = elementStyles[name];\r\n if (\"border-box\" === elementStyles.boxSizing && size.length && \"%\" !== size[size.length - 1]) {\r\n return boxParams.border + boxParams.padding\r\n }\r\n return 0\r\n};\r\nvar getSize = function(element, name, include) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var boxParams = getElementBoxParams(name, elementStyles);\r\n var clientRect = element.getClientRects().length;\r\n var boundingClientRect = element.getBoundingClientRect()[name];\r\n var result = clientRect ? boundingClientRect : 0;\r\n if (result <= 0) {\r\n result = parseFloat(elementStyles[name] || element.style[name]) || 0;\r\n result -= getBoxSizingOffset(name, elementStyles, boxParams)\r\n } else {\r\n result -= boxParams.padding + boxParams.border\r\n }\r\n if (include.paddings) {\r\n result += boxParams.padding\r\n }\r\n if (include.borders) {\r\n result += boxParams.border\r\n }\r\n if (include.margins) {\r\n result += boxParams.margin\r\n }\r\n return result\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nvar getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nvar getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport {\r\n getSize,\r\n getElementBoxParams,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets,\r\n getVisibleHeight,\r\n parseHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/validation_message.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../core/utils/position\";\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = Overlay.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n closeOnOutsideClick: false,\r\n closeOnTargetScroll: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n positionRequest: void 0,\r\n describedElement: void 0,\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n }\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this.$wrapper().addClass(INVALID_MESSAGE);\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updateContentId() {\r\n var describedElement = this.option(\"describedElement\") || this.option(\"container\");\r\n var contentId = $(describedElement).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", contentId)\r\n },\r\n _renderInnerHtml(element) {\r\n var $element = element && $(element);\r\n var validationErrors = this.option(\"validationErrors\") || [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(err => {\r\n var separator = validationErrorMessage ? \"
\" : \"\";\r\n validationErrorMessage += separator + encodeHtml((null === err || void 0 === err ? void 0 : err.message) || \"\")\r\n });\r\n null === $element || void 0 === $element ? void 0 : $element.html(validationErrorMessage)\r\n },\r\n _toggleModeClass() {\r\n var mode = this.option(\"mode\");\r\n this.$wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth() {\r\n var _target$outerWidth;\r\n var target = this.option(\"target\");\r\n var targetWidth = (null === target || void 0 === target ? void 0 : null === (_target$outerWidth = target.outerWidth) || void 0 === _target$outerWidth ? void 0 : _target$outerWidth.call(target)) || $(target).outerWidth();\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _updatePosition: function() {\r\n var {\r\n positionRequest: positionRequest,\r\n rtlEnabled: rtlEnabled,\r\n offset: offset,\r\n boundary: boundary\r\n } = this.option();\r\n var positionSide = getDefaultAlignment(rtlEnabled);\r\n var verticalPositions = \"below\" === positionRequest ? [\" top\", \" bottom\"] : [\" bottom\", \" top\"];\r\n if (rtlEnabled) {\r\n offset.h = -offset.h\r\n }\r\n if (\"below\" !== positionRequest) {\r\n offset.v = -offset.v\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positionSide + verticalPositions[0],\r\n at: positionSide + verticalPositions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"target\":\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionRequest\":\r\n this._updatePosition();\r\n break;\r\n case \"validationErrors\":\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxValidationMessage\", ValidationMessage);\r\nexport default ValidationMessage;\r\n","/**\r\n * DevExtreme (esm/ui/editor/editor.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport ValidationMessage from \"../validation_message\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar ALLOWED_STYLING_MODES = [\"outlined\", \"filled\", \"underlined\"];\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = Widget.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = Callbacks();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n data($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(() => null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO), 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-editor-\"\r\n },\r\n _renderStylingMode: function() {\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map(mode => prefix + mode);\r\n allowedStylingClasses.forEach(className => this.$element().removeClass(className));\r\n var stylingModeClass = prefix + optionValue;\r\n if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) {\r\n var defaultOptionValue = this._getDefaultOptions().stylingMode;\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;\r\n stylingModeClass = prefix + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!hasWindow()) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var {\r\n validationMessageMode: validationMessageMode,\r\n validationMessageOffset: validationMessageOffset,\r\n validationBoundary: validationBoundary,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n this._$validationMessage = $(\"
\").appendTo($element);\r\n this.setAria(\"describedby\", \"dx-\" + new Guid);\r\n this._validationMessage = new ValidationMessage(this._$validationMessage, extend({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n container: $element,\r\n mode: validationMessageMode,\r\n positionRequest: \"below\",\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n describedElement: this._focusTarget()\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = addNamespace(\"keydown\", READONLY_NAMESPACE);\r\n EventsEngine.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n EventsEngine.on($eventTarget, eventName, e => {\r\n if (\"backspace\" === normalizeKeyName(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n data(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _hasActiveElement: noop,\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n blur: function() {\r\n if (this._hasActiveElement()) {\r\n resetActiveElement()\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nEditor.isEditor = instance => instance instanceof Editor;\r\nexport default Editor;\r\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject,\r\n isEmptyObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend,\r\n extendFromObject\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport dataUtils from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = target ? Object.create(Object.getPrototypeOf(target)) : {};\r\n var targetWithoutPrototype = extendFromObject({}, target);\r\n deepExtendArraySafe(result, targetWithoutPrototype, true, true);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? dataUtils.rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !dataUtils.keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && dataUtils.trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return dataUtils.trivialPromise(key, data)\r\n } else {\r\n return dataUtils.trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return dataUtils.trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return dataUtils.trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (dataUtils.keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport dataUtils from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? dataUtils.normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar CharacterMetadata = require(\"./CharacterMetadata\");\n\nvar ContentStateInlineStyle = require(\"./ContentStateInlineStyle\");\n\nvar applyEntityToContentState = require(\"./applyEntityToContentState\");\n\nvar getCharacterRemovalRange = require(\"./getCharacterRemovalRange\");\n\nvar getContentStateFragment = require(\"./getContentStateFragment\");\n\nvar Immutable = require(\"immutable\");\n\nvar insertFragmentIntoContentState = require(\"./insertFragmentIntoContentState\");\n\nvar insertTextIntoContentState = require(\"./insertTextIntoContentState\");\n\nvar invariant = require(\"fbjs/lib/invariant\");\n\nvar modifyBlockForContentState = require(\"./modifyBlockForContentState\");\n\nvar removeEntitiesAtEdges = require(\"./removeEntitiesAtEdges\");\n\nvar removeRangeFromContentState = require(\"./removeRangeFromContentState\");\n\nvar splitBlockInContentState = require(\"./splitBlockInContentState\");\n\nvar OrderedSet = Immutable.OrderedSet;\n/**\n * `DraftModifier` provides a set of convenience methods that apply\n * modifications to a `ContentState` object based on a target `SelectionState`.\n *\n * Any change to a `ContentState` should be decomposable into a series of\n * transaction functions that apply the required changes and return output\n * `ContentState` objects.\n *\n * These functions encapsulate some of the most common transaction sequences.\n */\n\nvar DraftModifier = {\n replaceText: function replaceText(contentState, rangeToReplace, text, inlineStyle, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToReplace);\n var withoutText = removeRangeFromContentState(withoutEntities, rangeToReplace);\n var character = CharacterMetadata.create({\n style: inlineStyle || OrderedSet(),\n entity: entityKey || null\n });\n return insertTextIntoContentState(withoutText, withoutText.getSelectionAfter(), text, character);\n },\n insertText: function insertText(contentState, targetRange, text, inlineStyle, entityKey) {\n !targetRange.isCollapsed() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Target range must be collapsed for `insertText`.') : invariant(false) : void 0;\n return DraftModifier.replaceText(contentState, targetRange, text, inlineStyle, entityKey);\n },\n moveText: function moveText(contentState, removalRange, targetRange) {\n var movedFragment = getContentStateFragment(contentState, removalRange);\n var afterRemoval = DraftModifier.removeRange(contentState, removalRange, 'backward');\n return DraftModifier.replaceWithFragment(afterRemoval, targetRange, movedFragment);\n },\n replaceWithFragment: function replaceWithFragment(contentState, targetRange, fragment) {\n var mergeBlockData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'REPLACE_WITH_NEW_DATA';\n var withoutEntities = removeEntitiesAtEdges(contentState, targetRange);\n var withoutText = removeRangeFromContentState(withoutEntities, targetRange);\n return insertFragmentIntoContentState(withoutText, withoutText.getSelectionAfter(), fragment, mergeBlockData);\n },\n removeRange: function removeRange(contentState, rangeToRemove, removalDirection) {\n var startKey, endKey, startBlock, endBlock;\n\n if (rangeToRemove.getIsBackward()) {\n rangeToRemove = rangeToRemove.merge({\n anchorKey: rangeToRemove.getFocusKey(),\n anchorOffset: rangeToRemove.getFocusOffset(),\n focusKey: rangeToRemove.getAnchorKey(),\n focusOffset: rangeToRemove.getAnchorOffset(),\n isBackward: false\n });\n }\n\n startKey = rangeToRemove.getAnchorKey();\n endKey = rangeToRemove.getFocusKey();\n startBlock = contentState.getBlockForKey(startKey);\n endBlock = contentState.getBlockForKey(endKey);\n var startOffset = rangeToRemove.getStartOffset();\n var endOffset = rangeToRemove.getEndOffset();\n var startEntityKey = startBlock.getEntityAt(startOffset);\n var endEntityKey = endBlock.getEntityAt(endOffset - 1); // Check whether the selection state overlaps with a single entity.\n // If so, try to remove the appropriate substring of the entity text.\n\n if (startKey === endKey) {\n if (startEntityKey && startEntityKey === endEntityKey) {\n var adjustedRemovalRange = getCharacterRemovalRange(contentState.getEntityMap(), startBlock, endBlock, rangeToRemove, removalDirection);\n return removeRangeFromContentState(contentState, adjustedRemovalRange);\n }\n }\n\n var withoutEntities = removeEntitiesAtEdges(contentState, rangeToRemove);\n return removeRangeFromContentState(withoutEntities, rangeToRemove);\n },\n splitBlock: function splitBlock(contentState, selectionState) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n var withoutText = removeRangeFromContentState(withoutEntities, selectionState);\n return splitBlockInContentState(withoutText, withoutText.getSelectionAfter());\n },\n applyInlineStyle: function applyInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.add(contentState, selectionState, inlineStyle);\n },\n removeInlineStyle: function removeInlineStyle(contentState, selectionState, inlineStyle) {\n return ContentStateInlineStyle.remove(contentState, selectionState, inlineStyle);\n },\n setBlockType: function setBlockType(contentState, selectionState, blockType) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n type: blockType,\n depth: 0\n });\n });\n },\n setBlockData: function setBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n data: blockData\n });\n });\n },\n mergeBlockData: function mergeBlockData(contentState, selectionState, blockData) {\n return modifyBlockForContentState(contentState, selectionState, function (block) {\n return block.merge({\n data: block.getData().merge(blockData)\n });\n });\n },\n applyEntity: function applyEntity(contentState, selectionState, entityKey) {\n var withoutEntities = removeEntitiesAtEdges(contentState, selectionState);\n return applyEntityToContentState(withoutEntities, selectionState, entityKey);\n }\n};\nmodule.exports = DraftModifier;","\"use strict\";\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 */\nvar nullthrows = function nullthrows(x) {\n if (x != null) {\n return x;\n }\n\n throw new Error(\"Got unexpected null or undefined\");\n};\n\nmodule.exports = nullthrows;","/**\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 UserAgentData = require(\"./UserAgentData\");\n\nvar VersionRange = require(\"./VersionRange\");\n\nvar mapObject = require(\"./mapObject\");\n\nvar memoizeStringOnly = require(\"./memoizeStringOnly\");\n/**\n * Checks to see whether `name` and `version` satisfy `query`.\n *\n * @param {string} name Name of the browser, device, engine or platform\n * @param {?string} version Version of the browser, engine or platform\n * @param {string} query Query of form \"Name [range expression]\"\n * @param {?function} normalizer Optional pre-processor for range expression\n * @return {boolean}\n */\n\n\nfunction compare(name, version, query, normalizer) {\n // check for exact match with no version\n if (name === query) {\n return true;\n } // check for non-matching names\n\n\n if (!query.startsWith(name)) {\n return false;\n } // full comparison with version\n\n\n var range = query.slice(name.length);\n\n if (version) {\n range = normalizer ? normalizer(range) : range;\n return VersionRange.contains(range, version);\n }\n\n return false;\n}\n/**\n * Normalizes `version` by stripping any \"NT\" prefix, but only on the Windows\n * platform.\n *\n * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class.\n *\n * @param {string} version\n * @return {string}\n */\n\n\nfunction normalizePlatformVersion(version) {\n if (UserAgentData.platformName === 'Windows') {\n return version.replace(/^\\s*NT/, '');\n }\n\n return version;\n}\n/**\n * Provides client-side access to the authoritative PHP-generated User Agent\n * information supplied by the server.\n */\n\n\nvar UserAgent = {\n /**\n * Check if the User Agent browser matches `query`.\n *\n * `query` should be a string like \"Chrome\" or \"Chrome > 33\".\n *\n * Valid browser names include:\n *\n * - ACCESS NetFront\n * - AOL\n * - Amazon Silk\n * - Android\n * - BlackBerry\n * - BlackBerry PlayBook\n * - Chrome\n * - Chrome for iOS\n * - Chrome frame\n * - Facebook PHP SDK\n * - Facebook for iOS\n * - Firefox\n * - IE\n * - IE Mobile\n * - Mobile Safari\n * - Motorola Internet Browser\n * - Nokia\n * - Openwave Mobile Browser\n * - Opera\n * - Opera Mini\n * - Opera Mobile\n * - Safari\n * - UIWebView\n * - Unknown\n * - webOS\n * - etc...\n *\n * An authoritative list can be found in the PHP `BrowserDetector` class and\n * related classes in the same file (see calls to `new UserAgentBrowser` here:\n * https://fburl.com/50728104).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isBrowser: function isBrowser(query) {\n return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query);\n },\n\n /**\n * Check if the User Agent browser uses a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isBrowserArchitecture: function isBrowserArchitecture(query) {\n return compare(UserAgentData.browserArchitecture, null, query);\n },\n\n /**\n * Check if the User Agent device matches `query`.\n *\n * `query` should be a string like \"iPhone\" or \"iPad\".\n *\n * Valid device names include:\n *\n * - Kindle\n * - Kindle Fire\n * - Unknown\n * - iPad\n * - iPhone\n * - iPod\n * - etc...\n *\n * An authoritative list can be found in the PHP `DeviceDetector` class and\n * related classes in the same file (see calls to `new UserAgentDevice` here:\n * https://fburl.com/50728332).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name\"\n * @return {boolean}\n */\n isDevice: function isDevice(query) {\n return compare(UserAgentData.deviceName, null, query);\n },\n\n /**\n * Check if the User Agent rendering engine matches `query`.\n *\n * `query` should be a string like \"WebKit\" or \"WebKit >= 537\".\n *\n * Valid engine names include:\n *\n * - Gecko\n * - Presto\n * - Trident\n * - WebKit\n * - etc...\n *\n * An authoritative list can be found in the PHP `RenderingEngineDetector`\n * class related classes in the same file (see calls to `new\n * UserAgentRenderingEngine` here: https://fburl.com/50728617).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isEngine: function isEngine(query) {\n return compare(UserAgentData.engineName, UserAgentData.engineVersion, query);\n },\n\n /**\n * Check if the User Agent platform matches `query`.\n *\n * `query` should be a string like \"Windows\" or \"iOS 5 - 6\".\n *\n * Valid platform names include:\n *\n * - Android\n * - BlackBerry OS\n * - Java ME\n * - Linux\n * - Mac OS X\n * - Mac OS X Calendar\n * - Mac OS X Internet Account\n * - Symbian\n * - SymbianOS\n * - Windows\n * - Windows Mobile\n * - Windows Phone\n * - iOS\n * - iOS Facebook Integration Account\n * - iOS Facebook Social Sharing UI\n * - webOS\n * - Chrome OS\n * - etc...\n *\n * An authoritative list can be found in the PHP `PlatformDetector` class and\n * related classes in the same file (see calls to `new UserAgentPlatform`\n * here: https://fburl.com/50729226).\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"Name [range expression]\"\n * @return {boolean}\n */\n isPlatform: function isPlatform(query) {\n return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion);\n },\n\n /**\n * Check if the User Agent platform is a 32 or 64 bit architecture.\n *\n * @note Function results are memoized\n *\n * @param {string} query Query of the form \"32\" or \"64\".\n * @return {boolean}\n */\n isPlatformArchitecture: function isPlatformArchitecture(query) {\n return compare(UserAgentData.platformArchitecture, null, query);\n }\n};\nmodule.exports = mapObject(UserAgent, memoizeStringOnly);","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray,\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = -1 !== inArray(element, knownDropTargets);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = inArray(element, knownDropTargets);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (-1 === inArray(selector, knownDropTargetSelectors[index])) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = inArray(element, knownDropTargets);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets);\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (-1 !== inArray(void 0, knownDropTargetSelectors[dropTargetIndex])) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets);\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n var dropTargets = wrapToArray(e.targetElements || (null === e.targetElements ? [] : knownDropTargets));\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\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}","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result = this._renderCore(options);\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var replaceAll = function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + (str = searchToken, (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")) + \")\", \"gi\"), replacementToken);\r\n var str\r\n};\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar _require = require(\"immutable\"),\n Map = _require.Map,\n OrderedSet = _require.OrderedSet,\n Record = _require.Record; // Immutable.map is typed such that the value for every key in the map\n// must be the same type\n\n\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n style: EMPTY_SET,\n entity: null\n};\nvar CharacterMetadataRecord = Record(defaultRecord);\n\nvar CharacterMetadata = /*#__PURE__*/function (_CharacterMetadataRec) {\n _inheritsLoose(CharacterMetadata, _CharacterMetadataRec);\n\n function CharacterMetadata() {\n return _CharacterMetadataRec.apply(this, arguments) || this;\n }\n\n var _proto = CharacterMetadata.prototype;\n\n _proto.getStyle = function getStyle() {\n return this.get('style');\n };\n\n _proto.getEntity = function getEntity() {\n return this.get('entity');\n };\n\n _proto.hasStyle = function hasStyle(style) {\n return this.getStyle().includes(style);\n };\n\n CharacterMetadata.applyStyle = function applyStyle(record, style) {\n var withStyle = record.set('style', record.getStyle().add(style));\n return CharacterMetadata.create(withStyle);\n };\n\n CharacterMetadata.removeStyle = function removeStyle(record, style) {\n var withoutStyle = record.set('style', record.getStyle().remove(style));\n return CharacterMetadata.create(withoutStyle);\n };\n\n CharacterMetadata.applyEntity = function applyEntity(record, entityKey) {\n var withEntity = record.getEntity() === entityKey ? record : record.set('entity', entityKey);\n return CharacterMetadata.create(withEntity);\n }\n /**\n * Use this function instead of the `CharacterMetadata` constructor.\n * Since most content generally uses only a very small number of\n * style/entity permutations, we can reuse these objects as often as\n * possible.\n */\n ;\n\n CharacterMetadata.create = function create(config) {\n if (!config) {\n return EMPTY;\n }\n\n var defaultConfig = {\n style: EMPTY_SET,\n entity: null\n }; // Fill in unspecified properties, if necessary.\n\n var configMap = Map(defaultConfig).merge(config);\n var existing = pool.get(configMap);\n\n if (existing) {\n return existing;\n }\n\n var newCharacter = new CharacterMetadata(configMap);\n pool = pool.set(configMap, newCharacter);\n return newCharacter;\n };\n\n CharacterMetadata.fromJS = function fromJS(_ref) {\n var style = _ref.style,\n entity = _ref.entity;\n return new CharacterMetadata({\n style: Array.isArray(style) ? OrderedSet(style) : style,\n entity: Array.isArray(entity) ? OrderedSet(entity) : entity\n });\n };\n\n return CharacterMetadata;\n}(CharacterMetadataRecord);\n\nvar EMPTY = new CharacterMetadata();\nvar pool = Map([[Map(defaultRecord), EMPTY]]);\nCharacterMetadata.EMPTY = EMPTY;\nmodule.exports = CharacterMetadata;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n *\n * This file is a fork of ContentBlock adding support for nesting references by\n * providing links to children, parent, prevSibling, and nextSibling.\n *\n * This is unstable and not part of the public API and should not be used by\n * production systems. This file may be update/removed without notice.\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = require(\"./CharacterMetadata\");\n\nvar findRangesImmutable = require(\"./findRangesImmutable\");\n\nvar Immutable = require(\"immutable\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n parent: null,\n characterList: List(),\n data: Map(),\n depth: 0,\n key: '',\n text: '',\n type: 'unstyled',\n children: List(),\n prevSibling: null,\n nextSibling: null\n};\n\nvar haveEqualStyle = function haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n};\n\nvar haveEqualEntity = function haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n};\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlockNode = /*#__PURE__*/function (_ref) {\n _inheritsLoose(ContentBlockNode, _ref);\n\n function ContentBlockNode() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultRecord;\n\n /* eslint-disable-next-line constructor-super */\n return _ref.call(this, decorateCharacterList(props)) || this;\n }\n\n var _proto = ContentBlockNode.prototype;\n\n _proto.getKey = function getKey() {\n return this.get('key');\n };\n\n _proto.getType = function getType() {\n return this.get('type');\n };\n\n _proto.getText = function getText() {\n return this.get('text');\n };\n\n _proto.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n _proto.getLength = function getLength() {\n return this.getText().length;\n };\n\n _proto.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n _proto.getData = function getData() {\n return this.get('data');\n };\n\n _proto.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n _proto.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n };\n\n _proto.getChildKeys = function getChildKeys() {\n return this.get('children');\n };\n\n _proto.getParentKey = function getParentKey() {\n return this.get('parent');\n };\n\n _proto.getPrevSiblingKey = function getPrevSiblingKey() {\n return this.get('prevSibling');\n };\n\n _proto.getNextSiblingKey = function getNextSiblingKey() {\n return this.get('nextSibling');\n };\n\n _proto.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n };\n\n _proto.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlockNode;\n}(Record(defaultRecord));\n\nmodule.exports = ContentBlockNode;","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = inArray(emitter, activeEmitters);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/ui/load_indicator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nvar navigator = getNavigator();\r\nimport {\r\n animation\r\n} from \"../core/utils/support\";\r\nimport {\r\n current,\r\n isMaterial,\r\n isGeneric\r\n} from \"./themes\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return isGeneric(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"
\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = $(\"
\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if (animation() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = $(\"
\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = $(\"
\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append($(\"
\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = this.$element().width();\r\n height = this.$element().height();\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxLoadIndicator\", LoadIndicator);\r\nexport default LoadIndicator;\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n inArray\r\n} from \"./utils/array\";\r\nimport {\r\n isString,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers()\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (inArray(name, synchronizableOptions) >= 0) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport WeakMap from \"../polyfills/weak_map\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../remove_event\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/polyfills/promise.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar promise = hasWindow() ? getWindow().Promise : Promise;\r\nif (!promise) {\r\n promise = function(resolver) {\r\n var d = new Deferred;\r\n resolver(d.resolve.bind(this), d.reject.bind(this));\r\n return d.promise()\r\n };\r\n promise.resolve = function(val) {\r\n return (new Deferred).resolve(val).promise()\r\n };\r\n promise.reject = function(val) {\r\n return (new Deferred).reject(val).promise()\r\n };\r\n promise.all = function(promises) {\r\n return when.apply(this, promises).then((function() {\r\n return [].slice.call(arguments)\r\n }))\r\n }\r\n}\r\nexport default promise;\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engine_registry.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../utils/type\";\r\nimport errors from \"../errors\";\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\nexport function registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\nexport function setTemplateEngine(templateEngine) {\r\n if (isString(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw errors.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\nexport function getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engines.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extractTemplateMarkup\r\n} from \"../utils/dom\";\r\nimport {\r\n registerTemplateEngine\r\n} from \"./template_engine_registry\";\r\nregisterTemplateEngine(\"jquery-tmpl\", {\r\n compile: element => extractTemplateMarkup(element),\r\n render: (template, data) => jQuery.tmpl(template, data)\r\n});\r\nregisterTemplateEngine(\"jsrender\", {\r\n compile: element => (jQuery ? jQuery : jsrender).templates(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"mustache\", {\r\n compile: element => extractTemplateMarkup(element),\r\n render: (template, data) => Mustache.render(template, data)\r\n});\r\nregisterTemplateEngine(\"hogan\", {\r\n compile: element => Hogan.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"underscore\", {\r\n compile: element => _.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"handlebars\", {\r\n compile: element => Handlebars.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"doT\", {\r\n compile: element => doT.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nimport \"./template_engines\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"
\").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\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","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Component = void 0;\nvar React = require(\"react\");\nvar component_base_1 = require(\"./component-base\");\nvar extension_component_1 = require(\"./extension-component\");\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n if (child && Object.prototype.isPrototypeOf.call(extension_component_1.ExtensionComponent, child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(component_base_1.ComponentBase));\nexports.Component = Component;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar seenKeys = {};\nvar MULTIPLIER = Math.pow(2, 24);\n\nfunction generateRandomKey() {\n var key;\n\n while (key === undefined || seenKeys.hasOwnProperty(key) || !isNaN(+key)) {\n key = Math.floor(Math.random() * MULTIPLIER).toString(32);\n }\n\n seenKeys[key] = true;\n return key;\n}\n\nmodule.exports = generateRandomKey;","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/utils.ink_ripple.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nexport var initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n useHoldAnimation: useHoldAnimation,\r\n waveSizeCoefficient: waveSizeCoefficient,\r\n isCentered: isCentered,\r\n wavesNumber: wavesNumber\r\n } = config;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexport var render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"
\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple($(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"
\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = $(config.element);\r\n var elementWidth = element.outerWidth();\r\n var elementHeight = element.outerHeight();\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nexport function showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\nexport function hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/contextmenu.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n isMouseEvent\r\n} from \"./utils/index\";\r\nimport holdEvent from \"./hold\";\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexport var name = CONTEXTMENU_EVENT_NAME;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n findTemplates\r\n} from \"../../core/utils/template_manager\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport Action from \"../../core/action\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport CollectionWidgetItem from \"./item\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_OPTIONS_NAME = \"dxItem\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"item\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = Widget.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var enter = function(e) {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n this._itemClickHandler(extend({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n };\r\n var move = function(location, e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n enter.call(this, e)\r\n },\r\n enter: enter,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n dataSource: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? compileGetter(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this._initDefaultItemTemplate();\r\n this.callBase()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && isFunction(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n })\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (isDefined(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if (isDefined(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var rawItems = findTemplates(this.$element(), ITEMS_OPTIONS_NAME);\r\n if (!rawItems.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = rawItems.map(_ref => {\r\n var {\r\n element: element,\r\n options: options\r\n } = _ref;\r\n var isTemplateRequired = /\\S/.test(element.innerHTML) && !options.template;\r\n if (isTemplateRequired) {\r\n options.template = this._prepareItemTemplate(element)\r\n } else {\r\n $(element).remove()\r\n }\r\n return options\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function(item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new Guid;\r\n var $template = $(item).detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (-1 === inArray(e.target, this._focusTarget())) {\r\n return\r\n }\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", getPublicElement($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = $(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _moveFocus: function(location) {\r\n var $items = this._getAvailableItems();\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements).not(\".dx-state-disabled\")\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem();\r\n var targetIndex = $items.index($target);\r\n var $last = $items.last();\r\n var $item = $($items[targetIndex - 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true);\r\n var targetIndex = $items.index($target);\r\n var $first = $items.first();\r\n var $item = $($items[targetIndex + 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _updateFocusedItemState: function(target, isFocused, needCleanItemId) {\r\n var $target = $(target);\r\n if ($target.length) {\r\n this._refreshActiveDescendant();\r\n this._refreshItemId($target, needCleanItemId);\r\n this._toggleFocusClass(isFocused, $target)\r\n }\r\n this._updateParentActiveDescendant()\r\n },\r\n _refreshActiveDescendant: function($target) {\r\n this.setAria(\"activedescendant\", isDefined(this.option(\"focusedElement\")) ? this.getFocusedItemId() : null, $target)\r\n },\r\n _refreshItemId: function($target, needCleanItemId) {\r\n if (!needCleanItemId && this.option(\"focusedElement\")) {\r\n this.setAria(\"id\", this.getFocusedItemId(), $target)\r\n } else {\r\n this.setAria(\"id\", null, $target)\r\n }\r\n },\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n this._updateFocusedItemState($target, true);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n if (this.option(\"selectOnFocus\")) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = $();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n var isDisabling = \"disabled\" === property && value;\r\n if (isDisabling) {\r\n this._resetItemFocus($item)\r\n }\r\n },\r\n _resetItemFocus($item) {\r\n if ($item.is(this.option(\"focusedElement\"))) {\r\n this.option(\"focusedElement\", null)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item);\r\n var index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _updateParentActiveDescendant: noop,\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1];\r\n var itemPath = args.fullName.replace(\".\" + property, \"\");\r\n var item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n case \"useItemTextAsTitle\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._updateFocusedItemState(args.previousValue, false, true);\r\n this._setFocusedItem($(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n var dataSource = this._dataSource;\r\n this._expectNextPageLoading();\r\n dataSource.pageIndex(1 + dataSource.pageIndex());\r\n return dataSource.load()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer()\r\n },\r\n _cleanItemContainer: function() {\r\n $(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: deferRenderer((function() {\r\n this._renderContentImpl()\r\n })),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _attachClickEvent: function() {\r\n var itemSelector = this._itemSelector();\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEventNamespace = addNamespace(pointerEvents.down, this.NAME);\r\n var that = this;\r\n var pointerDownAction = new Action((function(args) {\r\n var event = args.event;\r\n that._itemPointerDownHandler(event)\r\n }));\r\n eventsEngine.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n eventsEngine.off(this._itemContainer(), pointerDownEventNamespace, itemSelector);\r\n eventsEngine.on(this._itemContainer(), clickEventNamespace, itemSelector, function(e) {\r\n this._itemClickHandler(e)\r\n }.bind(this));\r\n eventsEngine.on(this._itemContainer(), pointerDownEventNamespace, itemSelector, (function(e) {\r\n pointerDownAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n }))\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n var $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && $closestFocusable && -1 !== inArray($closestFocusable.get(0), this._focusTarget())) {\r\n this.option(\"focusedElement\", getPublicElement($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !domAdapter.isDocument($target.get(0))) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(holdEvent.name, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(index, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, index);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: index,\r\n itemData: itemData,\r\n container: getPublicElement($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n when(renderContentPromise).done((function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: index\r\n });\r\n that._executeItemRenderAction(index, itemData, getPublicElement($itemFrame))\r\n }));\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n eventsEngine.on($itemElement, clickEventName, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = $(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n $(args.container).replaceWith($node);\r\n args.container = getPublicElement($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n $(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = $(\"
\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n if (this.option(\"useItemTextAsTitle\")) {\r\n var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData;\r\n $itemFrame.attr(\"title\", displayValue)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n owner: that,\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\");\r\n var getter = compileGetter(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData;\r\n var templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\");\r\n var template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index\r\n })\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\");\r\n var hideNoData = !noDataText || items && items.length || this._isDataSourceLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || $(\"
\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer()).html(noDataText);\r\n this.setAria(\"label\", noDataText)\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, extend(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement($(initiator));\r\n var args = extend({}, actionArgs);\r\n return action(extend(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: getPublicElement($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return $($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return $(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n each(items, (function(_, item) {\r\n result += $(item).outerWidth(includeMargin || false)\r\n }))\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new Guid\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(DataHelperMixin);\r\nCollectionWidget.ItemClass = CollectionWidgetItem;\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n getKeyHash,\r\n noop,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default Class.inherit({\r\n ctor: function(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n },\r\n _clearItemKeys: function() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n },\r\n validate: noop,\r\n _setOption: function(name, value) {\r\n this.options[name] = value\r\n },\r\n onSelectionChanged: function() {\r\n var addedItemKeys = this.options.addedItemKeys;\r\n var removedItemKeys = this.options.removedItemKeys;\r\n var addedItems = this.options.addedItems;\r\n var removedItems = this.options.removedItems;\r\n var selectedItems = this.options.selectedItems;\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n var onSelectionChanged = this.options.onSelectionChanged || noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n equalKeys: function(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (isObject(key1) && isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return equalByValue(key1, key2)\r\n },\r\n getSelectableItems: function(items) {\r\n return items.filter((function(item) {\r\n return !item.disabled\r\n }))\r\n },\r\n _clearSelection: function(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n },\r\n _loadFilteredData: function(remoteFilter, localFilter, select, isSelectAll) {\r\n var filterLength = encodeURI(JSON.stringify(remoteFilter)).length;\r\n var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest;\r\n var deferred = new Deferred;\r\n var loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done((function(items) {\r\n var filteredItems = isPlainObject(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n deferred.resolve(filteredItems)\r\n })).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n },\r\n updateSelectedItemKeyHash: function(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n },\r\n _isAnyItemSelected: function(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n },\r\n _getFullSelectAllState: function() {\r\n var items = this.options.plainItems();\r\n var dataFilter = this.options.filter();\r\n var selectedItems = this.options.selectedItems;\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount() - this.options.disabledItemKeys.length) {\r\n return true\r\n }\r\n return\r\n },\r\n _getVisibleSelectAllState: function() {\r\n var items = this.getSelectableItems(this.options.plainItems());\r\n var hasSelectedItems = false;\r\n var hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var itemData = this.options.getItemData(item);\r\n var key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.deferred.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default SelectionStrategy.inherit({\r\n getSelectedItems: function() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n },\r\n getSelectedItemKeys: function() {\r\n var d = new Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) {\r\n var keys = items.map((function(item) {\r\n return that.options.keyOf(item)\r\n }));\r\n d.resolve(keys)\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect;\r\n if (needResetSelectionFilter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n setSelectedItems: function(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n },\r\n isItemDataSelected: function(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n },\r\n isItemKeySelected: function(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n },\r\n _getKeyExpr: function() {\r\n var keyField = this.options.key();\r\n if (Array.isArray(keyField) && 1 === keyField.length) {\r\n return keyField[0]\r\n }\r\n return keyField\r\n },\r\n _normalizeKey: function(key) {\r\n var keyExpr = this.options.key();\r\n if (Array.isArray(keyExpr) && 1 === keyExpr.length) {\r\n return key[keyExpr[0]]\r\n }\r\n return key\r\n },\r\n _getFilterByKey: function(key) {\r\n var keyField = this._getKeyExpr();\r\n var filter = [keyField, \"=\", this._normalizeKey(key)];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n },\r\n addSelectedItem: function(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter)\r\n },\r\n removeSelectedItem: function(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n },\r\n validate: function() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n },\r\n _findSubFilter: function(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _isLastSubFilter: function(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n },\r\n _addFilterOperator: function(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n },\r\n _denormalizeFilter: function(filter) {\r\n if (filter && isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n },\r\n _addSelectionFilter: function(isDeselect, filter, isSelectAll) {\r\n var currentFilter = isDeselect ? [\"!\", filter] : filter;\r\n var currentOperation = isDeselect ? \"and\" : \"or\";\r\n var needAddFilter = true;\r\n var selectionFilter = this.options.selectionFilter || [];\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (selectionFilter && selectionFilter.length) {\r\n this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex);\r\n needAddFilter = filter.length && !isKeyOperatorsAfterRemoved;\r\n if (needAddFilter) {\r\n selectionFilter = this._addFilterOperator(selectionFilter, currentOperation)\r\n }\r\n }\r\n if (needAddFilter) {\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = this._normalizeFilter(selectionFilter);\r\n this._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n },\r\n _normalizeFilter: function(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n },\r\n _removeFilterByIndex: function(filter, filterIndex, isSelectAll) {\r\n var operation = filter[1];\r\n if (filterIndex > 0) {\r\n filter.splice(filterIndex - 1, 2)\r\n } else {\r\n filter.splice(filterIndex, 2)\r\n }\r\n if (isSelectAll && \"and\" === operation) {\r\n filter.splice(0, filter.length)\r\n }\r\n },\r\n _isSimpleKeyFilter: function(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n },\r\n _isKeyFilter: function(filter) {\r\n if (2 === filter.length && \"!\" === filter[0]) {\r\n return this._isKeyFilter(filter[1])\r\n }\r\n var keyField = this._getKeyExpr();\r\n if (Array.isArray(keyField)) {\r\n if (filter.length !== 2 * keyField.length - 1) {\r\n return false\r\n }\r\n for (var i = 0; i < keyField.length; i++) {\r\n if (i > 0 && \"and\" !== filter[2 * i - 1]) {\r\n return false\r\n }\r\n if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return this._isSimpleKeyFilter(filter, keyField)\r\n },\r\n _hasKeyFiltersOnlyStartingFromIndex: function(selectionFilter, filterIndex) {\r\n if (filterIndex >= 0) {\r\n for (var i = filterIndex; i < selectionFilter.length; i++) {\r\n if (\"string\" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n },\r\n _removeSameFilter: function(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return 0\r\n }\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (filterIndex >= 0) {\r\n this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll);\r\n return filterIndex\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) {\r\n var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (_filterIndex >= 0) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n return _filterIndex\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n },\r\n getSelectAllState: function() {\r\n var filter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/selection_filter.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash,\r\n equalByValue\r\n} from \"./common\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"./type\";\r\nexport var SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach((function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n }));\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if (isSelectAll && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!isObject(keyHash)) {\r\n var selectedKeyHashesMap = function(selectedItemKeys) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(selectedItemKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n }(function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(key => keyOf(key)) : keys\r\n }(selectedItemKeys, keyOf, keyExpr));\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.standard.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n removeDuplicates,\r\n uniqueValues\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isKeysEqual\r\n} from \"../../core/utils/array_compare\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n SelectionFilterCreator\r\n} from \"../../core/utils/selection_filter\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nexport default SelectionStrategy.inherit({\r\n ctor: function(options) {\r\n this.callBase(options);\r\n this._initSelectedItemKeyHash()\r\n },\r\n _initSelectedItemKeyHash: function() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n },\r\n getSelectedItemKeys: function() {\r\n return this.options.selectedItemKeys.slice(0)\r\n },\r\n getSelectedItems: function() {\r\n return this.options.selectedItems.slice(0)\r\n },\r\n _preserveSelectionUpdate: function(items, isDeselect) {\r\n var keyOf = this.options.keyOf;\r\n var keyIndicesToRemoveMap;\r\n var keyIndex;\r\n var i;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n },\r\n _batchRemoveSelectedItems: function(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n },\r\n _loadSelectedItemsCore: function(keys, isDeselect, isSelectAll) {\r\n var deferred = new Deferred;\r\n var key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n var filter = this.options.filter();\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n deselectedItems = combinedFilter ? dataQuery(this.options.selectedItems).filter(combinedFilter).toArray() : this.options.selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll)\r\n }\r\n return deferred\r\n },\r\n _replaceSelectionUpdate: function(items) {\r\n var internalKeys = [];\r\n var keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n },\r\n _warnOnIncorrectKeys: function(keys) {\r\n var allowNullValue = this.options.allowNullValue;\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) {\r\n errors.log(\"W1002\", key)\r\n }\r\n }\r\n },\r\n _isMultiSelectEnabled: function() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n },\r\n _requestInProgress: function() {\r\n var _this$_lastLoadDeferr;\r\n return \"pending\" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state())\r\n },\r\n _concatRequestsItems: function(keys, isDeselect, oldRequestItems) {\r\n var deselectedItems = isDeselect ? keys : [];\r\n return {\r\n addedItems: oldRequestItems.added.concat(removeDuplicates(keys, this.options.selectedItemKeys)),\r\n removedItems: oldRequestItems.removed.concat(deselectedItems),\r\n keys: keys\r\n }\r\n },\r\n _collectLastRequestData: function(keys, isDeselect, isSelectAll) {\r\n var isDeselectAll = isDeselect && isSelectAll;\r\n var oldRequestItems = {\r\n added: [],\r\n removed: []\r\n };\r\n var multiSelectEnabled = this._isMultiSelectEnabled();\r\n var lastRequestData = multiSelectEnabled ? this._lastRequestData : {};\r\n if (multiSelectEnabled) {\r\n if (this._requestInProgress()) {\r\n if (isDeselectAll) {\r\n this._lastLoadDeferred.reject();\r\n lastRequestData = {}\r\n } else if (!isKeysEqual(keys, this.options.selectedItemKeys)) {\r\n oldRequestItems.added = lastRequestData.addedItems;\r\n oldRequestItems.removed = lastRequestData.removedItems;\r\n if (!isDeselect) {\r\n this._lastLoadDeferred.reject()\r\n }\r\n } else {\r\n lastRequestData = {}\r\n }\r\n }\r\n lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems)\r\n }\r\n return lastRequestData\r\n },\r\n _updateKeysByLastRequestData: function(keys, isDeselect, isSelectAll) {\r\n var currentKeys = keys;\r\n if (this._isMultiSelectEnabled() && !isDeselect && !isSelectAll) {\r\n var _this$_lastRequestDat, _this$_lastRequestDat2;\r\n currentKeys = removeDuplicates(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems);\r\n currentKeys = uniqueValues(currentKeys)\r\n }\r\n return currentKeys\r\n },\r\n _loadSelectedItems: function(keys, isDeselect, isSelectAll) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll);\r\n when(that._lastLoadDeferred).always((function() {\r\n var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll);\r\n that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll).done(deferred.resolve).fail(deferred.reject)\r\n }));\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n var that = this;\r\n var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll);\r\n deferred.done((function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n }));\r\n return deferred\r\n },\r\n addSelectedItem: function(key, itemData) {\r\n if (isDefined(itemData) && itemData.disabled) {\r\n if (-1 === this.options.disabledItemKeys.indexOf(key)) {\r\n this.options.disabledItemKeys.push(key)\r\n }\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n if (-1 === this._indexOfSelectedItemKey(keyHash)) {\r\n if (!isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n },\r\n _getSelectedIndexByKey: function(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _getSelectedIndexByHash: function(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter((function(index) {\r\n return !ignoreIndicesMap[index]\r\n }))\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n },\r\n _indexOfSelectedItemKey: function(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if (isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n return selectedIndex\r\n },\r\n _shiftSelectedKeyIndices: function(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex];\r\n var currentKeyHash = getKeyHash(currentKey);\r\n var currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n },\r\n removeSelectedItem: function(key, keyIndicesToRemoveMap) {\r\n var keyHash = this._getKeyHash(key);\r\n var isBatchDeselect = !!keyIndicesToRemoveMap;\r\n var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n },\r\n _updateAddedItemKeys: function(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n },\r\n _updateRemovedItemKeys: function(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n },\r\n _isItemSelectionInProgress: function(key, checkPending) {\r\n var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress();\r\n if (shouldCheckPending) {\r\n return this._lastRequestData.addedItems && -1 !== this._lastRequestData.addedItems.indexOf(key)\r\n } else {\r\n return false\r\n }\r\n },\r\n _getKeyHash: function(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n },\r\n setSelectedItems: function(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys;\r\n var oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n },\r\n isItemDataSelected: function(itemData) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key, options)\r\n },\r\n isItemKeySelected: function(key) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var result = this._isItemSelectionInProgress(key, options.checkPending);\r\n if (!result) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n result = -1 !== index\r\n }\r\n return result\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport deferredStrategy from \"./selection.strategy.deferred\";\r\nimport standardStrategy from \"./selection.strategy.standard\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default Class.inherit({\r\n ctor: function(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n allowNullValue: false,\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n },\r\n validate: function() {\r\n this._selectionStrategy.validate()\r\n },\r\n getSelectedItemKeys: function() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n },\r\n getSelectedItems: function() {\r\n return this._selectionStrategy.getSelectedItems()\r\n },\r\n selectionFilter: function(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n },\r\n setSelection: function(keys) {\r\n return this.selectedItemKeys(keys)\r\n },\r\n select: function(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n },\r\n deselect: function(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n var _keys;\r\n keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n },\r\n clearSelection: function() {\r\n return this.selectedItemKeys([])\r\n },\r\n _addSelectedItem: function(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n },\r\n _removeSelectedItem: function(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n },\r\n _setSelectedItems: function(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n },\r\n onSelectionChanged: function() {\r\n this._selectionStrategy.onSelectionChanged()\r\n },\r\n changeItemSelection: function(itemIndex, keys) {\r\n var isSelectedItemsChanged;\r\n var items = this.options.plainItems();\r\n var item = items[itemIndex];\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n if (keys.shift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items)\r\n } else if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n this._focusedItemIndex = itemIndex;\r\n this.onSelectionChanged();\r\n return true\r\n }\r\n },\r\n isDataItem: function(item) {\r\n return this.options.isSelectableItem(item)\r\n },\r\n isSelectable: function() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n },\r\n isItemDataSelected: function(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n },\r\n isItemSelected: function(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n },\r\n _resetItemSelectionWhenShiftKeyPressed: function() {\r\n delete this._shiftFocusedItemIndex\r\n },\r\n _resetFocusedItemIndex: function() {\r\n this._focusedItemIndex = -1\r\n },\r\n changeItemSelectionWhenShiftKeyPressed: function(itemIndex, items) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var index;\r\n var keyOf = this.options.keyOf;\r\n var focusedItem = items[this._focusedItemIndex];\r\n var focusedData = this.options.getItemData(focusedItem);\r\n var focusedKey = keyOf(focusedData);\r\n var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data;\r\n var itemKey;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n for (index = this._focusedItemIndex; index !== this._shiftFocusedItemIndex; index += itemIndexStep) {\r\n if (this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n for (index = itemIndex; index !== this._shiftFocusedItemIndex; index += itemIndexStep) {\r\n if (this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (this.isDataItem(focusedItem) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n },\r\n clearSelectedItems: function() {\r\n this._setSelectedItems([], [])\r\n },\r\n selectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n },\r\n deselectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n },\r\n _onePageSelectAll: function(isDeselect) {\r\n var items = this._selectionStrategy.getSelectableItems(this.options.plainItems());\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n var isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport BaseCollectionWidget from \"./ui.collection_widget.base\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport PlainEditStrategy from \"./ui.collection_widget.edit.strategy.plain\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../data/data_source/utils\";\r\nimport Selection from \"../selection/selection\";\r\nimport {\r\n when,\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\";\r\nvar NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = BaseCollectionWidget.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectionByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule()\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = compileGetter(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!(this._dataSource && this._dataSource.key())\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataSource && this._dataSource.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataSource && this._dataSource.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item;\r\n var store = this._dataSource && this._dataSource.store();\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else if (store) {\r\n key = store.keyOf(item)\r\n }\r\n return key\r\n },\r\n _nullValueSelectionSupported: function() {\r\n return false\r\n },\r\n _initSelectionModule: function() {\r\n var that = this;\r\n var itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new Selection({\r\n allowNullValue: this._nullValueSelectionSupported(),\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var dataSource = that._dataSource;\r\n return dataSource && dataSource.totalCount() >= 0 ? dataSource.totalCount() : items.length\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n if (that._dataSource) {\r\n var loadOptions = that._dataSource.loadOptions();\r\n options.customQueryParams = loadOptions.customQueryParams;\r\n options.userData = that._dataSource._userData\r\n }\r\n var store = that._dataSource && that._dataSource.store();\r\n if (store) {\r\n return store.load(options).done((function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = normalizeLoadResult(loadResult).data;\r\n that._dataSource._applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataSource && that._dataSource.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = PlainEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this;\r\n var indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n each(keys, (function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n }));\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n this._rendering = true;\r\n if (!this._dataSource || !this._dataSource.isLoading()) {\r\n this._syncSelectionOptions().done(() => this._normalizeSelectedItems())\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem;\r\n var selectedIndex;\r\n var selectedItemKeys;\r\n var selectedItems;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : NOT_EXISTING_INDEX;\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItems[0]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName);\r\n var length = isDefined(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n this._createAction(function(e) {\r\n this._itemSelectHandler(e.event)\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: $(e.currentTarget),\r\n event: e\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (!this.option(\"selectionByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n this.selectItem(e.currentTarget)\r\n }\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = $(args.itemElement);\r\n var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement);\r\n var isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelected($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this;\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (var i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < removedItemKeys.length; _i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[_i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done((function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n }))\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: noop,\r\n _setAriaSelected: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(() => this._normalizeSelectedItems());\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectionByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new Deferred;\r\n var deletingActionArgs = {\r\n cancel: false\r\n };\r\n var deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n when(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise;\r\n var deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state();\r\n var argumentsSpecified = !!arguments.length;\r\n var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n when(fromPromise(deletingActionArgs.cancel)).always((function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n })).done((function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n })).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n if (!this._dataSource) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var deferred = new Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = this._dataSource.store();\r\n this.option(\"disabled\", true);\r\n if (!dataStore.remove) {\r\n throw errors.Error(\"E1011\")\r\n }\r\n dataStore.remove(dataStore.keyOf(this._getItemData($item))).done((function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n })).fail((function() {\r\n deferred.reject()\r\n }));\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done((function() {\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataSource.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n $(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\") || [];\r\n this._selection.setSelection([...selectedItemKeys, key])\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataSource ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var index = this._editStrategy.getNormalizedIndex(itemElement);\r\n var itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done((function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done((function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n })).fail((function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n }))\r\n })).fail((function() {\r\n deferred.rejectWith(that)\r\n }))\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var strategy = this._editStrategy;\r\n var $movingItem = strategy.getItemElement(itemElement);\r\n var $destinationItem = strategy.getItemElement(toItemElement);\r\n var movingIndex = strategy.getNormalizedIndex(itemElement);\r\n var destinationIndex = strategy.getNormalizedIndex(toItemElement);\r\n var changingOption = this._dataSource ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done((function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }))\r\n }\r\n});\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (-1 === indexOfCallback) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (-1 !== indexOfCallback) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n each(directions, (index, handleName) => {\r\n this._renderHandle(handleName)\r\n });\r\n inArray(\"bottom\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-bottom-right\");\r\n inArray(\"bottom\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-bottom-left\");\r\n inArray(\"top\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-top-right\");\r\n inArray(\"top\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"
\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n var elementRect = getBoundingRect($element.get(0));\r\n this._elementSize = {\r\n width: elementRect.width,\r\n height: elementRect.height\r\n };\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = $handle.outerWidth();\r\n var handleHeight = $handle.outerHeight();\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _dragHandler: function(e) {\r\n var $element = this.$element();\r\n var sides = this._movingSides;\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var offset = this._getOffset(e);\r\n var width = size.width + offset.x * (sides.left ? -1 : 1);\r\n var height = size.height + offset.y * (sides.top ? -1 : 1);\r\n if (offset.x || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderWidth(width)\r\n }\r\n if (offset.y || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderHeight(height)\r\n }\r\n var elementRect = getBoundingRect($element.get(0));\r\n var offsetTop = offset.y - ((elementRect.height || height) - height);\r\n var offsetLeft = offset.x - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n });\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n triggerResizeEvent($element)\r\n },\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var steps = pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"));\r\n var sides = this._getMovingSides(e);\r\n var strictPrecision = \"strict\" === this.option(\"stepPrecision\");\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return strictPrecision ? this._getStrictOffset(offset, steps, sides) : this._getSimpleOffset(offset, steps)\r\n },\r\n _getSimpleOffset: function(offset, steps) {\r\n return {\r\n x: offset.x - offset.x % steps.h,\r\n y: offset.y - offset.y % steps.v\r\n }\r\n },\r\n _getStrictOffset: function(offset, steps, sides) {\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || (x => {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n });\r\n var separatorOffset = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n return {\r\n x: (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n y: (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: $area.innerWidth(),\r\n height: $area.innerHeight(),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= this.$element().outerWidth() - this.$element().innerWidth();\r\n result.height -= this.$element().outerHeight() - this.$element().innerHeight()\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: $element.outerWidth(),\r\n height: $element.outerHeight(),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n hasWindow() && this._renderWidth(this.$element().outerWidth());\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(this.$element().outerHeight());\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"
\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../animation/fx\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n locate,\r\n move,\r\n resetPosition\r\n} from \"../../animation/translator\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction,\r\n isPlainObject,\r\n isWindow,\r\n isEvent\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback,\r\n originalViewPort,\r\n value as viewPort\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport Resizable from \"../resizable\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport swatch from \"../widget/swatch_container\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport * as zIndexPool from \"./z_index\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar OVERLAY_MODAL_CLASS = \"dx-overlay-modal\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar ACTIONS = [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioned\", \"onResizeStart\", \"onResize\", \"onResizeEnd\"];\r\nvar OVERLAY_STACK = [];\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar realDevice = devices.real();\r\nvar firefoxDesktop = browser.mozilla && \"desktop\" === realDevice.deviceType;\r\nvar iOS = \"ios\" === realDevice.platform;\r\nvar hasSafariAddressBar = browser.safari && \"desktop\" !== realDevice.deviceType;\r\nvar forceRepaint = $element => {\r\n if (firefoxDesktop) {\r\n $element.width()\r\n }\r\n};\r\nvar getElement = value => {\r\n if (isEvent(value)) {\r\n value = value.target\r\n }\r\n return $(value)\r\n};\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n var move = function(top, left, e) {\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var allowedOffsets = this._allowedOffsets();\r\n var offset = {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n };\r\n this._changePosition(offset)\r\n };\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n },\r\n upArrow: move.bind(this, -5, 0),\r\n downArrow: move.bind(this, 5, 0),\r\n leftArrow: move.bind(this, 0, -5),\r\n rightArrow: move.bind(this, 0, 5)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n width: function() {\r\n return .8 * $(window).width()\r\n },\r\n minWidth: null,\r\n maxWidth: null,\r\n height: function() {\r\n return .8 * $(window).height()\r\n },\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n innerOverlay: false,\r\n target: void 0,\r\n container: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n closeOnTargetScroll: false,\r\n onPositioned: null,\r\n boundaryOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _fixedPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initCloseOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._$wrapper = $(\"
\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"
\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n this._$wrapper.addClass($element.attr(\"class\"));\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n eventsEngine.on(this._$wrapper, \"MSPointerDown\", noop);\r\n eventsEngine.on(this._$wrapper, \"focusin\", e => {\r\n e.stopPropagation()\r\n });\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"))\r\n },\r\n _initOptions: function(options) {\r\n this._initTarget(options.target);\r\n var container = void 0 === options.container ? this.option(\"container\") : options.container;\r\n this._initContainer(container);\r\n this.callBase(options)\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initTarget: function(target) {\r\n if (!isDefined(target)) {\r\n return\r\n }\r\n var options = this.option();\r\n each([\"position.of\", \"animation.show.from.position.of\", \"animation.show.to.position.of\", \"animation.hide.from.position.of\", \"animation.hide.to.position.of\"], (_, path) => {\r\n var pathParts = path.split(\".\");\r\n var option = options;\r\n while (option) {\r\n if (1 === pathParts.length) {\r\n if (isPlainObject(option)) {\r\n option[pathParts.shift()] = target\r\n }\r\n break\r\n } else {\r\n option = option[pathParts.shift()]\r\n }\r\n }\r\n })\r\n },\r\n _initContainer: function(container) {\r\n container = void 0 === container ? viewPort() : container;\r\n var $element = this.$element();\r\n var $container = $element.closest(container);\r\n if (!$container.length) {\r\n $container = $(container).first()\r\n }\r\n this._$container = $container.length ? $container : $element.parent()\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n each(ACTIONS, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initCloseOnOutsideClickHandler: function() {\r\n var that = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return that._documentDownHandler(...arguments)\r\n }\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if (isFunction(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n var $container = this._$content;\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target);\r\n var isInnerOverlay = $(e.target).closest(\".\" + INNER_OVERLAY_CLASS).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !($container.is(e.target) || contains($container.get(0), e.target));\r\n if (outsideClick && closeOnOutsideClick) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _outsideClickHandler(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = this._viewPortChangeHandler.bind(this);\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._initContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _normalizePosition: function() {\r\n var position = this.option(\"position\");\r\n this._position = \"function\" === typeof position ? position() : position\r\n },\r\n _getAnimationConfig: function() {\r\n var animation = this.option(\"animation\");\r\n if (isFunction(animation)) {\r\n animation = animation.call(this)\r\n }\r\n return animation\r\n },\r\n _show: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n deferred.done(() => {\r\n delete that._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return deferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n this._isShown = false;\r\n this._normalizePosition();\r\n var animation = that._getAnimationConfig() || {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = showAnimation && showAnimation.start || noop;\r\n var completeShowAnimation = showAnimation && showAnimation.complete || noop;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n deferred.resolve()\r\n } else {\r\n var show = () => {\r\n this._renderVisibility(true);\r\n if (this._isShowingActionCanceled) {\r\n delete this._isShowingActionCanceled;\r\n deferred.resolve();\r\n return\r\n }\r\n this._animate(showAnimation, (function() {\r\n if (that.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(that._focusTarget(), \"focus\")\r\n }\r\n completeShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = false;\r\n that._isShown = true;\r\n that._actions.onShown();\r\n that._toggleSafariScrolling(false);\r\n deferred.resolve()\r\n }), (function() {\r\n startShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = true\r\n }))\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return deferred.promise()\r\n },\r\n _normalizeAnimation: function(animation, prop) {\r\n if (animation) {\r\n animation = extend({\r\n type: \"slide\"\r\n }, animation);\r\n if (animation[prop] && \"object\" === typeof animation[prop]) {\r\n extend(animation[prop], {\r\n position: this._position\r\n })\r\n }\r\n }\r\n return animation\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n var that = this;\r\n var deferred = new Deferred;\r\n var animation = that._getAnimationConfig() || {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = hideAnimation && hideAnimation.start || noop;\r\n var completeHideAnimation = hideAnimation && hideAnimation.complete || noop;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n deferred.resolve()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n that._toggleSafariScrolling(true);\r\n if (hidingArgs.cancel) {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n deferred.resolve()\r\n } else {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animate(hideAnimation, (function() {\r\n var _that$_actions;\r\n that._$content.css(\"pointerEvents\", \"\");\r\n that._renderVisibility(false);\r\n completeHideAnimation.apply(this, arguments);\r\n that._hideAnimationProcessing = false;\r\n null === (_that$_actions = that._actions) || void 0 === _that$_actions ? void 0 : _that$_actions.onHidden();\r\n deferred.resolve()\r\n }), (function() {\r\n that._$content.css(\"pointerEvents\", \"none\");\r\n startHideAnimation.apply(this, arguments);\r\n that._hideAnimationProcessing = true\r\n }))\r\n }\r\n }\r\n return deferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n if (visible) {\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n if (showingArgs.cancel) {\r\n this._toggleVisibility(false);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._updateZIndexStackPosition(false);\r\n this._moveFromContainer();\r\n this._isShowingActionCanceled = true;\r\n this.option(\"visible\", false);\r\n return\r\n }\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = inArray(this, overlayStack);\r\n if (pushToStack) {\r\n if (-1 === index) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_MODAL_CLASS, this.option(\"shading\") && !this.option(\"container\"));\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var that = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n that._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleParentsScrollSubscription: function(subscribe) {\r\n if (!this._position) {\r\n return\r\n }\r\n var target = this._position.of || $();\r\n var closeOnScroll = this.option(\"closeOnTargetScroll\");\r\n var $parents = getElement(target).parents();\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || (e => {\r\n this._targetParentsScrollHandler(e)\r\n });\r\n eventsEngine.off($().add(this._$prevTargetParents), scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n if (subscribe && closeOnScroll) {\r\n eventsEngine.on($parents, scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n this._$prevTargetParents = $parents\r\n }\r\n },\r\n _targetParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"closeOnTargetScroll\");\r\n if (isFunction(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve()\r\n }\r\n });\r\n this._renderDrag();\r\n this._renderResize();\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var startEventName = addNamespace(dragEventStart, this.NAME);\r\n var updateEventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off($dragTarget, startEventName);\r\n eventsEngine.off($dragTarget, updateEventName);\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n eventsEngine.on($dragTarget, startEventName, this._dragStartHandler.bind(this));\r\n eventsEngine.on($dragTarget, updateEventName, this._dragUpdateHandler.bind(this))\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: this._resizeEndHandler.bind(this),\r\n onResize: this._actions.onResize.bind(this),\r\n onResizeStart: this._actions.onResizeStart.bind(this),\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._getDragResizeContainer()\r\n })\r\n },\r\n _resizeEndHandler: function() {\r\n this._positionChangeHandled = true;\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this.option(\"width\", width);\r\n height && this.option(\"height\", height);\r\n this._actions.onResizeEnd()\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._$wrapper;\r\n var terminatorEventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off($scrollTerminator, terminatorEventName);\r\n eventsEngine.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !isCommandKeyPressed(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getDragTarget: function() {\r\n return this.$content()\r\n },\r\n _dragStartHandler: function(e) {\r\n e.targetElements = [];\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n var allowedOffsets = this._allowedOffsets();\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n },\r\n _getDragResizeContainer: function() {\r\n var isContainerDefined = originalViewPort().get(0) || this.option(\"container\");\r\n var $container = !isContainerDefined ? $(window) : this._$container;\r\n return $container\r\n },\r\n _deltaSize: function() {\r\n var $content = this._$content;\r\n var $container = this._getDragResizeContainer();\r\n var contentWidth = $content.outerWidth();\r\n var contentHeight = $content.outerHeight();\r\n var containerWidth = $container.outerWidth();\r\n var containerHeight = $container.outerHeight();\r\n if (this._isWindow($container)) {\r\n var document = domAdapter.getDocument();\r\n var fullPageHeight = Math.max($(document).outerHeight(), containerHeight);\r\n var fullPageWidth = Math.max($(document).outerWidth(), containerWidth);\r\n containerHeight = fullPageHeight;\r\n containerWidth = fullPageWidth\r\n }\r\n return {\r\n width: containerWidth - contentWidth,\r\n height: containerHeight - contentHeight\r\n }\r\n },\r\n _dragUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var prevOffset = this._prevOffset;\r\n var targetOffset = {\r\n top: offset.y - prevOffset.y,\r\n left: offset.x - prevOffset.x\r\n };\r\n this._changePosition(targetOffset);\r\n this._prevOffset = offset\r\n },\r\n _changePosition: function(offset) {\r\n var position = locate(this._$content);\r\n move(this._$content, {\r\n left: position.left + offset.left,\r\n top: position.top + offset.top\r\n });\r\n this._positionChangeHandled = true\r\n },\r\n _allowedOffsets: function() {\r\n var position = locate(this._$content);\r\n var deltaSize = this._deltaSize();\r\n var isAllowedDrag = deltaSize.height >= 0 && deltaSize.width >= 0;\r\n var shaderOffset = this.option(\"shading\") && !this.option(\"container\") && !this._isWindow(this._getContainer()) ? locate(this._$wrapper) : {\r\n top: 0,\r\n left: 0\r\n };\r\n var boundaryOffset = this.option(\"boundaryOffset\");\r\n return {\r\n top: isAllowedDrag ? position.top + shaderOffset.top + boundaryOffset.v : 0,\r\n bottom: isAllowedDrag ? -position.top - shaderOffset.top + deltaSize.height - boundaryOffset.v : 0,\r\n left: isAllowedDrag ? position.left + shaderOffset.left + boundaryOffset.h : 0,\r\n right: isAllowedDrag ? -position.left - shaderOffset.left + deltaSize.width - boundaryOffset.h : 0\r\n }\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._detachWrapperToContainer()\r\n },\r\n _detachWrapperToContainer: function() {\r\n this._$wrapper.detach()\r\n },\r\n _moveToContainer: function() {\r\n this._attachWrapperToContainer();\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _attachWrapperToContainer: function() {\r\n var $element = this.$element();\r\n var containerDefined = void 0 !== this.option(\"container\");\r\n var renderContainer = containerDefined ? this._$container : swatch.getSwatchContainer($element);\r\n if (renderContainer && renderContainer[0] === $element.parent()[0]) {\r\n renderContainer = $element\r\n }\r\n this._$wrapper.appendTo(renderContainer)\r\n },\r\n _fixHeightAfterSafariAddressBarResizing: function() {\r\n if (this._isWindow(this._getContainer()) && hasSafariAddressBar) {\r\n this._$wrapper.css(\"minHeight\", window.innerHeight)\r\n }\r\n },\r\n _renderGeometry: function(isDimensionChanged) {\r\n if (this.option(\"visible\") && hasWindow()) {\r\n this._renderGeometryImpl(isDimensionChanged)\r\n }\r\n },\r\n _renderGeometryImpl: function(isDimensionChanged) {\r\n this._stopAnimation();\r\n this._normalizePosition();\r\n this._renderWrapper();\r\n this._fixHeightAfterSafariAddressBarResizing();\r\n this._renderDimensions();\r\n var resultPosition = this._renderPosition();\r\n this._actions.onPositioned({\r\n position: resultPosition\r\n })\r\n },\r\n _fixWrapperPosition: function() {\r\n this._$wrapper.css(\"position\", this._useFixedPosition() ? \"fixed\" : \"absolute\")\r\n },\r\n _useFixedPosition: function() {\r\n return this._shouldFixBodyPosition() || this.option(\"_fixedPosition\")\r\n },\r\n _shouldFixBodyPosition: function() {\r\n var $container = this._getContainer();\r\n return this._isWindow($container) && (!iOS || void 0 !== this._bodyScrollTop)\r\n },\r\n _toggleSafariScrolling: function(scrollingEnabled) {\r\n if (iOS && this._shouldFixBodyPosition()) {\r\n var body = domAdapter.getBody();\r\n if (scrollingEnabled) {\r\n $(body).removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._bodyScrollTop);\r\n this._bodyScrollTop = void 0\r\n } else if (this.option(\"visible\")) {\r\n this._bodyScrollTop = window.pageYOffset;\r\n $(body).addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._fixWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._renderWrapperPosition()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var wrapperWidth;\r\n var wrapperHeight;\r\n var $container = this._getContainer();\r\n if (!$container) {\r\n return\r\n }\r\n var isWindow = this._isWindow($container);\r\n wrapperWidth = isWindow ? \"\" : $container.outerWidth(), wrapperHeight = isWindow ? \"\" : $container.outerHeight();\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _isWindow: function($element) {\r\n return !!$element && isWindow($element.get(0))\r\n },\r\n _renderWrapperPosition: function() {\r\n var $container = this._getContainer();\r\n if ($container) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: $container\r\n })\r\n }\r\n },\r\n _getContainer: function() {\r\n var position = this._position;\r\n var container = this.option(\"container\");\r\n var positionOf = null;\r\n if (!container && position) {\r\n positionOf = isEvent(position.of) ? window : position.of || window\r\n }\r\n return getElement(container || positionOf)\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _renderPosition: function() {\r\n if (this._positionChangeHandled) {\r\n var allowedOffsets = this._allowedOffsets();\r\n this._changePosition({\r\n top: fitIntoRange(0, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(0, -allowedOffsets.left, allowedOffsets.right)\r\n })\r\n } else {\r\n this._renderOverlayBoundaryOffset();\r\n resetPosition(this._$content);\r\n var position = this._transformStringPosition(this._position, POSITION_ALIASES);\r\n var resultPosition = positionUtils.setup(this._$content, position);\r\n forceRepaint(this._$content);\r\n return resultPosition\r\n }\r\n },\r\n _transformStringPosition: function(position, positionAliases) {\r\n if (isString(position)) {\r\n position = extend({}, positionAliases[position])\r\n }\r\n return position\r\n },\r\n _renderOverlayBoundaryOffset: function() {\r\n var boundaryOffset = this.option(\"boundaryOffset\");\r\n this._$content.css(\"margin\", boundaryOffset.v + \"px \" + boundaryOffset.h + \"px\")\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry(true)\r\n },\r\n _clean: function() {\r\n if (!this._contentAlreadyRendered) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._toggleSafariScrolling(true);\r\n this._actions = null;\r\n this.callBase();\r\n zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(...arguments);\r\n this._$content.toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n if (inArray(args.name, ACTIONS) > -1) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n this._renderGeometry();\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"shading\":\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n case \"boundaryOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionChangeHandled = false;\r\n this._renderGeometry();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n if (!this._animateDeferred) {\r\n return\r\n }\r\n this._animateDeferred.resolveWith(this)\r\n });\r\n break;\r\n case \"target\":\r\n this._initTarget(value);\r\n this._invalidate();\r\n break;\r\n case \"container\":\r\n this._initContainer(value);\r\n this._invalidate();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(args.value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"closeOnTargetScroll\":\r\n this._toggleParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"animation\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixedPosition\":\r\n this._fixWrapperPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.option(\"visible\")])\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/version.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/swipe.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return this.getElement().width()\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return this.getElement().height()\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = GestureEmitter.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = eventData(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset\r\n }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = eventData(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n e.preventDefault()\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\nexport {\r\n SWIPE_EVENT as swipe, SWIPE_START_EVENT as start, SWIPE_END_EVENT as end\r\n};\r\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\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 setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar KEY_DELIMITER = '-';\nvar DraftOffsetKey = {\n encode: function encode(blockKey, decoratorKey, leafKey) {\n return blockKey + KEY_DELIMITER + decoratorKey + KEY_DELIMITER + leafKey;\n },\n decode: function decode(offsetKey) {\n // Extracts the last two parts of offsetKey and captures the rest in blockKeyParts\n var _offsetKey$split$reve = offsetKey.split(KEY_DELIMITER).reverse(),\n leafKey = _offsetKey$split$reve[0],\n decoratorKey = _offsetKey$split$reve[1],\n blockKeyParts = _offsetKey$split$reve.slice(2);\n\n return {\n // Recomposes the parts of blockKey after reversing them\n blockKey: blockKeyParts.reverse().join(KEY_DELIMITER),\n decoratorKey: parseInt(decoratorKey, 10),\n leafKey: parseInt(leafKey, 10)\n };\n }\n};\nmodule.exports = DraftOffsetKey;","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.async.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetEdit from \"./ui.collection_widget.edit\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar AsyncCollectionWidget = CollectionWidgetEdit.inherit({\r\n _initMarkup() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent(args) {\r\n var renderContentDeferred = new Deferred;\r\n var itemDeferred = new Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done(() => {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _createItemByTemplate(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: () => {\r\n this._deferredItems[renderArgs.index].resolve()\r\n }\r\n })\r\n },\r\n _postProcessRenderItems: noop,\r\n _renderItemsAsync() {\r\n var d = new Deferred;\r\n when.apply(this, this._deferredItems).done(() => {\r\n this._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nexport default AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isMaterial,\r\n waitWebFont\r\n} from \"../themes\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport AsyncCollectionWidget from \"../collection/ui.collection_widget.async\";\r\nimport Promise from \"../../core/polyfills/promise\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport errors from \"../../core/errors\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"./constants\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TOOLBAR_LABEL_SELECTOR = \".\" + TOOLBAR_LABEL_CLASS;\r\nvar TOOLBAR_MULTILINE_CLASS = \"dx-toolbar-multiline\";\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ToolbarBase = AsyncCollectionWidget.inherit({\r\n compactMode: false,\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options);\r\n if (\"height\" in this._userOptions) {\r\n errors.log(\"W0001\", this.NAME, \"height\", \"20.1\", \"Functionality associated with this option is not intended for the Toolbar widget.\")\r\n }\r\n },\r\n _getSynchronizableOptionsForCreateComponent: function() {\r\n return this.callBase().filter(item => \"disabled\" !== item)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n var template = new BindableTemplate(function($container, data, rawModel) {\r\n if (isPlainObject(data)) {\r\n if (data.text) {\r\n $container.text(data.text).wrapInner(\"
\")\r\n }\r\n if (data.html) {\r\n $container.html(data.html)\r\n }\r\n if (\"dxButton\" === data.widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n data.options = data.options || {};\r\n data.options.stylingMode = data.options.stylingMode || TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n data.options = data.options || {};\r\n data.options.type = data.options.type || DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._templateManager.addDefaultTemplates({\r\n item: template,\r\n menuItem: template\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false,\r\n multiline: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n },\r\n _itemContainer: function() {\r\n return this._$toolbarItemsContainer.find([\".\" + TOOLBAR_BEFORE_CLASS, \".\" + TOOLBAR_CENTER_CLASS, \".\" + TOOLBAR_AFTER_CLASS].join(\",\"))\r\n },\r\n _itemClass: function() {\r\n return TOOLBAR_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n },\r\n _buttonClass: function() {\r\n return TOOLBAR_BUTTON_CLASS\r\n },\r\n _dimensionChanged: function() {\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n },\r\n _initMarkup: function() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n this.callBase();\r\n this.setAria(\"role\", \"toolbar\")\r\n },\r\n _waitParentAnimationFinished: function() {\r\n var $element = this.$element();\r\n return new Promise(resolve => {\r\n var runCheck = () => {\r\n clearTimeout(this._waitParentAnimationTimeout);\r\n this._waitParentAnimationTimeout = setTimeout(() => (() => {\r\n var readyToResolve = true;\r\n $element.parents().each((_, parent) => {\r\n if (fx.isAnimating($(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n })() || runCheck(), 15)\r\n };\r\n runCheck()\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderItemsAsync();\r\n if (isMaterial()) {\r\n Promise.all([this._waitParentAnimationFinished(), this._checkWebFontForLabelsLoaded()]).then(this._dimensionChanged.bind(this))\r\n }\r\n },\r\n _postProcessRenderItems: function() {\r\n this._arrangeItems()\r\n },\r\n _renderToolbar: function() {\r\n this.$element().addClass(TOOLBAR_CLASS).toggleClass(TOOLBAR_MULTILINE_CLASS, this.option(\"multiline\"));\r\n this._$toolbarItemsContainer = $(\"
\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element())\r\n },\r\n _renderSections: function() {\r\n var $container = this._$toolbarItemsContainer;\r\n var that = this;\r\n each([\"before\", \"center\", \"after\"], (function() {\r\n var sectionClass = \"dx-toolbar-\" + this;\r\n var $section = $container.find(\".\" + sectionClass);\r\n if (!$section.length) {\r\n that[\"_$\" + this + \"Section\"] = $section = $(\"
\").addClass(sectionClass).appendTo($container)\r\n }\r\n }))\r\n },\r\n _checkWebFontForLabelsLoaded: function() {\r\n var $labels = this.$element().find(TOOLBAR_LABEL_SELECTOR);\r\n var promises = [];\r\n $labels.each((_, label) => {\r\n var text = $(label).text();\r\n var fontWeight = $(label).css(\"fontWeight\");\r\n promises.push(waitWebFont(text, fontWeight))\r\n });\r\n return Promise.all(promises)\r\n },\r\n _arrangeItems: function(elementWidth) {\r\n elementWidth = elementWidth || this.$element().width();\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = getBoundingRect(this._$beforeSection.get(0));\r\n var afterRect = getBoundingRect(this._$afterSection.get(0));\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(TOOLBAR_LABEL_SELECTOR).eq(0);\r\n var $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left;\r\n var widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset;\r\n var widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width;\r\n var elemsAtSectionWidth = 0;\r\n $section.children().not(TOOLBAR_LABEL_SELECTOR).each((function() {\r\n elemsAtSectionWidth += $(this).outerWidth()\r\n }));\r\n var freeSpace = elementWidth - elemsAtSectionWidth;\r\n var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = $label.outerWidth() - $label.width();\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n },\r\n _alignCenterSection: function(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var leftRect = isRTL ? afterRect : beforeRect;\r\n var rightRect = isRTL ? beforeRect : afterRect;\r\n var centerRect = getBoundingRect(this._$centerSection.get(0));\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n float: leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n },\r\n _alignSection: function($section, maxWidth) {\r\n var $labels = $section.find(TOOLBAR_LABEL_SELECTOR);\r\n var labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels);\r\n var difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n },\r\n _alignSectionLabels: function(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return getBoundingRect(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = $(labels[i]);\r\n var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n var labelMaxWidth = void 0;\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n },\r\n _applyCompactMode: function() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > $element.width()) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n },\r\n _getCurrentLabelsWidth: function(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += $(label).outerWidth()\r\n }));\r\n return width\r\n },\r\n _getCurrentLabelsPaddings: function(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += $(label).outerWidth() - $(label).width()\r\n }));\r\n return padding\r\n },\r\n _renderItem: function(index, item, itemContainer, $after) {\r\n var location = item.location || \"center\";\r\n var container = itemContainer || this[\"_$\" + location + \"Section\"];\r\n var itemHasText = !!(item.text || item.html);\r\n var itemElement = this.callBase(index, item, container, $after);\r\n itemElement.toggleClass(this._buttonClass(), !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n },\r\n _renderGroupedItems: function() {\r\n var that = this;\r\n each(this.option(\"items\"), (function(groupIndex, group) {\r\n var groupItems = group.items;\r\n var $container = $(\"
\").addClass(TOOLBAR_GROUP_CLASS);\r\n var location = group.location || \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }\r\n each(groupItems, (function(itemIndex, item) {\r\n that._renderItem(itemIndex, item, $container, null)\r\n }));\r\n that._$toolbarItemsContainer.find(\".dx-toolbar-\" + location).append($container)\r\n }))\r\n },\r\n _renderItems: function(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : this.callBase(items)\r\n },\r\n _getToolbarItems: function() {\r\n return this.option(\"items\") || []\r\n },\r\n _renderContentImpl: function() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n },\r\n _renderEmptyMessage: noop,\r\n _clean: function() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.$element().width() > 0 && this.$element().height() > 0\r\n },\r\n _getIndexByItem: function(item) {\r\n return inArray(item, this._getToolbarItems())\r\n },\r\n _itemOptionChanged: function(item, property, value) {\r\n this.callBase.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"width\":\r\n this.callBase.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"multiline\":\r\n this.$element().toggleClass(TOOLBAR_MULTILINE_CLASS, args.value);\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n }\r\n});\r\nregisterComponent(\"dxToolbarBase\", ToolbarBase);\r\nexport default ToolbarBase;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/constants.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TOOLBAR_CLASS = \"dx-toolbar\";\r\n","/**\r\n * DevExtreme (esm/ui/popup.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n camelize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getVisibleHeight,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets\r\n} from \"../core/utils/size\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../core/utils/version\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport Button from \"./button\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"./themes\";\r\nimport \"./toolbar/ui.toolbar.base\";\r\nvar window = getWindow();\r\nvar POPUP_CLASS = \"dx-popup\";\r\nvar POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\";\r\nvar POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\";\r\nvar POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\";\r\nvar POPUP_NORMAL_CLASS = \"dx-popup-normal\";\r\nvar POPUP_CONTENT_CLASS = \"dx-popup-content\";\r\nvar POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\";\r\nvar POPUP_TITLE_CLASS = \"dx-popup-title\";\r\nvar POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar POPUP_BOTTOM_CLASS = \"dx-popup-bottom\";\r\nvar POPUP_HAS_CLOSE_BUTTON_CLASS = \"dx-has-close-button\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\";\r\nvar POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\";\r\nvar ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"];\r\nvar BUTTON_DEFAULT_TYPE = \"default\";\r\nvar BUTTON_NORMAL_TYPE = \"normal\";\r\nvar BUTTON_TEXT_MODE = \"text\";\r\nvar BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_IE11 = browser.msie && 11 === parseInt(browser.version);\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n static: \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = name => {\r\n var device = devices.current();\r\n var platform = device.platform;\r\n var toolbar = \"bottom\";\r\n var location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else if (\"android\" === platform && device.version && parseInt(device.version[0]) > 4) {\r\n switch (name) {\r\n case \"cancel\":\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n return this.option(\"fullScreen\") ? {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n } : {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(POPUP_WRAPPER_CLASS);\r\n this._$popupContent = this._$content.wrapInner($(\"
\").addClass(POPUP_CONTENT_CLASS)).children().eq(0)\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new EmptyTemplate,\r\n bottom: new EmptyTemplate\r\n })\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\");\r\n var titleText = this.option(\"title\");\r\n var showTitle = this.option(\"showTitle\");\r\n if (showTitle && !!titleText) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: titleText\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"
\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title);\r\n this._$title.toggleClass(POPUP_HAS_CLOSE_BUTTON_CLASS, this._hasCloseButton())\r\n } else if (this._$title) {\r\n this._$title.detach()\r\n }\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = extend({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n useDefaultButtons: this.option(\"useDefaultToolbarButtons\"),\r\n useFlatButtons: this.option(\"useFlatToolbarButtons\"),\r\n integrationOptions: integrationOptions\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: \"dxToolbarBase\",\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return (_, __, container) => {\r\n var $button = $(\"
\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform;\r\n var index = 0;\r\n each(toolbarItems, (_, data) => {\r\n var isShortcut = isDefined(data.shortcut);\r\n var item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n });\r\n if (\"top\" === toolbar && this._hasCloseButton()) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _hasCloseButton() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: itemType => \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true),\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this;\r\n var itemType = data.shortcut;\r\n if (inArray(itemType, ALLOWED_TOOLBAR_ITEM_ALIASES) < 0) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"
\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"
\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, (_, alias) => {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (inArray(className, this._toolbarItemClasses) >= 0) {\r\n this.$wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this.$wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n })\r\n },\r\n _getContainer: function() {\r\n if (this.option(\"fullScreen\")) {\r\n return $(window)\r\n }\r\n return this.callBase()\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometryImpl: function(isDimensionChanged) {\r\n if (!isDimensionChanged) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase(...arguments);\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n this.$content().css({\r\n height: \"auto\",\r\n maxHeight: \"none\"\r\n })\r\n },\r\n _renderDrag: function() {\r\n this.callBase();\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, this.option(\"dragEnabled\"))\r\n },\r\n _renderResize: function() {\r\n this.callBase();\r\n this._resizable.option(\"onResize\", function() {\r\n this._setContentHeight();\r\n this._actions.onResize(arguments)\r\n }.bind(this))\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.$overlayContent().get(0);\r\n var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width;\r\n var currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n if (!IS_IE11) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n }\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {};\r\n var contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent);\r\n var contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent);\r\n var popupHeightParts = this._splitPopupHeight();\r\n var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var overlayHeight = this.option(\"fullScreen\") ? Math.min(getBoundingRect(overlayContent).height, getWindow().innerHeight) : getBoundingRect(overlayContent).height;\r\n var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._getContainer()).get(0);\r\n var maxHeightValue = addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.$overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar();\r\n var bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: getVerticalOffsets(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _shouldFixBodyPosition: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _toggleSafariFullScreen: function(value) {\r\n var toggleFullScreenBeforeShown = this._shouldFixBodyPosition() && value && !this._isShown;\r\n if (toggleFullScreenBeforeShown) {\r\n this._bodyScrollTop = value ? window.pageYOffset : void 0\r\n } else {\r\n this._toggleSafariScrolling(!value)\r\n }\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this.$overlayContent().css({\r\n width: \"100%\",\r\n height: \"100%\",\r\n minWidth: \"\",\r\n maxWidth: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n } else {\r\n this.callBase(...arguments)\r\n }\r\n if (hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, this.$overlayContent().outerWidth() === $(window).width())\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _renderPosition: function() {\r\n if (this.option(\"fullScreen\")) {\r\n move(this.$overlayContent(), {\r\n top: 0,\r\n left: 0\r\n })\r\n } else {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n return this.callBase(...arguments)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(args.value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (shouldRenderGeometry) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent())\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._toggleFullScreenClass(args.value);\r\n this._toggleSafariFullScreen(args.value);\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport dataUtils from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/array\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = dataUtils.throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n delete this._store;\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n if (!isDefined(data) || isEmpty(data)) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n this._eventsStrategy.fireEvent(\"changing\", [{\r\n changes: changes\r\n }]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n if (store instanceof CustomStore) {\r\n store.clearRawDataCache()\r\n }\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isPlainObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.events.emitter.gesture.scroll.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n addNamespace,\r\n isDxMouseWheelEvent,\r\n isMouseEvent,\r\n eventData,\r\n eventDelta\r\n} from \"../../events/utils/index\";\r\nimport GestureEmitter from \"../../events/gesture/emitter.gesture\";\r\nimport registerEmitter from \"../../events/core/emitter_registrator\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nvar realDevice = devices.real();\r\nvar SCROLL_INIT_EVENT = \"dxscrollinit\";\r\nvar SCROLL_START_EVENT = \"dxscrollstart\";\r\nvar SCROLL_MOVE_EVENT = \"dxscroll\";\r\nvar SCROLL_END_EVENT = \"dxscrollend\";\r\nvar SCROLL_STOP_EVENT = \"dxscrollstop\";\r\nvar SCROLL_CANCEL_EVENT = \"dxscrollcancel\";\r\nvar Locker = Class.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = addNamespace(\"scroll\", \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n this._element = element;\r\n this._locked = false;\r\n var that = this;\r\n this._proxiedScroll = function(e) {\r\n that._scroll(e)\r\n };\r\n eventsEngine.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n },\r\n _scroll: abstract,\r\n check: function(e, callback) {\r\n if (this._locked) {\r\n callback()\r\n }\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n }\r\n }\r\n}());\r\nvar TimeoutLocker = Locker.inherit({\r\n ctor: function(element, timeout) {\r\n this.callBase(element);\r\n this._timeout = timeout\r\n },\r\n _scroll: function() {\r\n this._prepare();\r\n this._forget()\r\n },\r\n _prepare: function() {\r\n if (this._timer) {\r\n this._clearTimer()\r\n }\r\n this._locked = true\r\n },\r\n _clearTimer: function() {\r\n clearTimeout(this._timer);\r\n this._locked = false;\r\n this._timer = null\r\n },\r\n _forget: function() {\r\n var that = this;\r\n this._timer = setTimeout((function() {\r\n that._clearTimer()\r\n }), this._timeout)\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._clearTimer()\r\n }\r\n});\r\nvar WheelLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400);\r\n this._lastWheelDirection = null\r\n },\r\n check: function(e, callback) {\r\n this._checkDirectionChanged(e);\r\n this.callBase(e, callback)\r\n },\r\n _checkDirectionChanged: function(e) {\r\n if (!isDxMouseWheelEvent(e)) {\r\n this._lastWheelDirection = null;\r\n return\r\n }\r\n var direction = e.shiftKey || false;\r\n var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection;\r\n this._lastWheelDirection = direction;\r\n this._locked = this._locked && !directionChange\r\n }\r\n});\r\nvar PointerLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400)\r\n }\r\n});\r\n! function() {\r\n var ios8_greater = realDevice.ios && compareVersions(realDevice.version, [8]) >= 0;\r\n var android5_greater = realDevice.android && compareVersions(realDevice.version, [5]) >= 0;\r\n if (!(ios8_greater || android5_greater)) {\r\n return\r\n }\r\n PointerLocker = Locker.inherit({\r\n _scroll: function() {\r\n this._locked = true;\r\n var that = this;\r\n cancelAnimationFrame(this._scrollFrame);\r\n this._scrollFrame = requestAnimationFrame((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = requestAnimationFrame((function() {\r\n callBase.call(that, e, callback);\r\n that._locked = false\r\n }))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = GestureEmitter.inherit(function() {\r\n var FRAME_DURATION = Math.round(1e3 / 60);\r\n return {\r\n ctor: function(element) {\r\n this.callBase.apply(this, arguments);\r\n this.direction = \"both\";\r\n this._pointerLocker = new PointerLocker(element);\r\n this._wheelLocker = new WheelLocker(element)\r\n },\r\n validate: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n if (data.scrollTarget) {\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose();\r\n this._pointerLocker = new PointerLocker(data.scrollTarget);\r\n this._wheelLocker = new WheelLocker(data.scrollTarget)\r\n }\r\n this.callBase(data)\r\n },\r\n _init: function(e) {\r\n this._wheelLocker.check(e, function() {\r\n if (isDxMouseWheelEvent(e)) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._pointerLocker.check(e, function() {\r\n var skipCheck = this.isNative && isMouseEvent(e);\r\n if (!isDxMouseWheelEvent(e) && !skipCheck) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._fireEvent(SCROLL_INIT_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n move: function(e) {\r\n this.callBase.apply(this, arguments);\r\n e.isScrollingEvent = this.isNative || e.isScrollingEvent\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = eventData(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: eventDelta(this._prevEventData, currentEventData)\r\n });\r\n var delta = eventDelta(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = eventData(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = eventDelta(this._prevEventData, eventData(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!isDxMouseWheelEvent(e) && endEventDelta.time < 100) {\r\n var delta = eventDelta(this._savedEventData, this._prevEventData);\r\n var velocityMultiplier = FRAME_DURATION / delta.time;\r\n velocity = {\r\n x: delta.x * velocityMultiplier,\r\n y: delta.y * velocityMultiplier\r\n }\r\n }\r\n this._fireEvent(SCROLL_END_EVENT, e, {\r\n velocity: velocity\r\n })\r\n },\r\n _stop: function(e) {\r\n this._fireEvent(SCROLL_STOP_EVENT, e)\r\n },\r\n cancel: function(e) {\r\n this.callBase.apply(this, arguments);\r\n this._fireEvent(SCROLL_CANCEL_EVENT, e)\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose()\r\n },\r\n _clearSelection: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleGestureCover: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n}());\r\nregisterEmitter({\r\n emitter: ScrollEmitter,\r\n events: [SCROLL_INIT_EVENT, SCROLL_START_EVENT, SCROLL_MOVE_EVENT, SCROLL_END_EVENT, SCROLL_STOP_EVENT, SCROLL_CANCEL_EVENT]\r\n});\r\nexport default {\r\n init: SCROLL_INIT_EVENT,\r\n start: SCROLL_START_EVENT,\r\n move: SCROLL_MOVE_EVENT,\r\n end: SCROLL_END_EVENT,\r\n stop: SCROLL_STOP_EVENT,\r\n cancel: SCROLL_CANCEL_EVENT\r\n};\r\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 || new Function(\"return 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","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n */\n'use strict';\n\nmodule.exports = function (name) {\n if (typeof window !== 'undefined' && window.__DRAFT_GKX) {\n return !!window.__DRAFT_GKX[name];\n }\n\n return false;\n};","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport dataUtils from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = toComparable(xValue);\r\n yValue = toComparable(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || defaultCompare;\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var toString = function(value) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit) {\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (dataUtils.isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = dataUtils.isConjunctiveOperator(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (dataUtils.isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = dataUtils.normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = toComparable(value);\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) > value\r\n };\r\n case \"<\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) < value\r\n };\r\n case \">=\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) >= value\r\n };\r\n case \"<=\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) <= value\r\n };\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(dataUtils.aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/core/templates/bindable_template.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove_event\";\r\nimport {\r\n isPrimitive\r\n} from \"../utils/type\";\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = ((data, watchMethod, callback) => watchMethod(() => data, callback))(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map((function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? () => fieldGetter(data) : () => data[name], (function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n }))\r\n }));\r\n return function() {\r\n watchHandlers.forEach(dispose => dispose())\r\n }\r\n }(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n }));\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n};\r\nexport class BindableTemplate extends TemplateBase {\r\n constructor(render, fields, watchMethod, fieldsMap) {\r\n super();\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n }\r\n _renderCore(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, data => {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport default class TextEditorButton {\r\n constructor(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n _addPlaceMarker($container) {\r\n this.$placeMarker = $(\"
\").appendTo($container)\r\n }\r\n _addToContainer($element) {\r\n var {\r\n $placeMarker: $placeMarker,\r\n $container: $container\r\n } = this;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n }\r\n _attachEvents() {\r\n throw \"Not implemented\"\r\n }\r\n _create() {\r\n throw \"Not implemented\"\r\n }\r\n _isRendered() {\r\n return !!this.instance\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor,\r\n options: options\r\n } = this;\r\n return options.visible || !editor.option(\"readOnly\")\r\n }\r\n _isDisabled() {\r\n throw \"Not implemented\"\r\n }\r\n _shouldRender() {\r\n return this._isVisible() && !this._isRendered()\r\n }\r\n dispose() {\r\n var {\r\n instance: instance,\r\n $placeMarker: $placeMarker\r\n } = this;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n }\r\n render() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var {\r\n instance: instance,\r\n $element: $element\r\n } = this._create();\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n }\r\n update() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n }\r\n}\r\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _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}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\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}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title,\n titleId: titleId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fas\";\nvar faAd = {\n prefix: 'fas',\n iconName: 'ad',\n icon: [512, 512, [], \"f641\", \"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faAdjust = {\n prefix: 'fas',\n iconName: 'adjust',\n icon: [512, 512, [], \"f042\", \"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"]\n};\nvar faAirFreshener = {\n prefix: 'fas',\n iconName: 'air-freshener',\n icon: [512, 512, [], \"f5d0\", \"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"]\n};\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"]\n};\nvar faAllergies = {\n prefix: 'fas',\n iconName: 'allergies',\n icon: [448, 512, [], \"f461\", \"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faAmbulance = {\n prefix: 'fas',\n iconName: 'ambulance',\n icon: [640, 512, [], \"f0f9\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faAmericanSignLanguageInterpreting = {\n prefix: 'fas',\n iconName: 'american-sign-language-interpreting',\n icon: [640, 512, [], \"f2a3\", \"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [], \"f13d\", \"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"]\n};\nvar faAngleDoubleDown = {\n prefix: 'fas',\n iconName: 'angle-double-down',\n icon: [320, 512, [], \"f103\", \"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"]\n};\nvar faAngleDoubleLeft = {\n prefix: 'fas',\n iconName: 'angle-double-left',\n icon: [448, 512, [], \"f100\", \"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"]\n};\nvar faAngleDoubleRight = {\n prefix: 'fas',\n iconName: 'angle-double-right',\n icon: [448, 512, [], \"f101\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"]\n};\nvar faAngleDoubleUp = {\n prefix: 'fas',\n iconName: 'angle-double-up',\n icon: [320, 512, [], \"f102\", \"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [320, 512, [], \"f107\", \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [256, 512, [], \"f104\", \"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [256, 512, [], \"f105\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [320, 512, [], \"f106\", \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"]\n};\nvar faAngry = {\n prefix: 'fas',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"]\n};\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [], \"f644\", \"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"]\n};\nvar faAppleAlt = {\n prefix: 'fas',\n iconName: 'apple-alt',\n icon: [448, 512, [], \"f5d1\", \"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"]\n};\nvar faArchive = {\n prefix: 'fas',\n iconName: 'archive',\n icon: [512, 512, [], \"f187\", \"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [576, 512, [], \"f557\", \"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"]\n};\nvar faArrowCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-circle-down',\n icon: [512, 512, [], \"f0ab\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"]\n};\nvar faArrowCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-circle-left',\n icon: [512, 512, [], \"f0a8\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"]\n};\nvar faArrowCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-circle-right',\n icon: [512, 512, [], \"f0a9\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"]\n};\nvar faArrowCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-circle-up',\n icon: [512, 512, [], \"f0aa\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"]\n};\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [448, 512, [], \"f063\", \"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [], \"f060\", \"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [], \"f061\", \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [448, 512, [], \"f062\", \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"]\n};\nvar faArrowsAlt = {\n prefix: 'fas',\n iconName: 'arrows-alt',\n icon: [512, 512, [], \"f0b2\", \"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"]\n};\nvar faArrowsAltH = {\n prefix: 'fas',\n iconName: 'arrows-alt-h',\n icon: [512, 512, [], \"f337\", \"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"]\n};\nvar faArrowsAltV = {\n prefix: 'fas',\n iconName: 'arrows-alt-v',\n icon: [256, 512, [], \"f338\", \"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"]\n};\nvar faAssistiveListeningSystems = {\n prefix: 'fas',\n iconName: 'assistive-listening-systems',\n icon: [512, 512, [], \"f2a2\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [512, 512, [], \"f069\", \"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"]\n};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [], \"f1fa\", \"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"]\n};\nvar faAtlas = {\n prefix: 'fas',\n iconName: 'atlas',\n icon: [448, 512, [], \"f558\", \"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"]\n};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [448, 512, [], \"f5d2\", \"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"]\n};\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [512, 512, [], \"f29e\", \"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [384, 512, [], \"f77c\", \"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [], \"f77d\", \"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"]\n};\nvar faBackspace = {\n prefix: 'fas',\n iconName: 'backspace',\n icon: [640, 512, [], \"f55a\", \"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"]\n};\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [], \"f04a\", \"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [], \"f7e5\", \"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"]\n};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [512, 512, [], \"f666\", \"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"]\n};\nvar faBalanceScale = {\n prefix: 'fas',\n iconName: 'balance-scale',\n icon: [640, 512, [], \"f24e\", \"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faBalanceScaleLeft = {\n prefix: 'fas',\n iconName: 'balance-scale-left',\n icon: [640, 512, [], \"f515\", \"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"]\n};\nvar faBalanceScaleRight = {\n prefix: 'fas',\n iconName: 'balance-scale-right',\n icon: [640, 512, [], \"f516\", \"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [], \"f05e\", \"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"]\n};\nvar faBandAid = {\n prefix: 'fas',\n iconName: 'band-aid',\n icon: [640, 512, [], \"f462\", \"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [], \"f0c9\", \"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"]\n};\nvar faBaseballBall = {\n prefix: 'fas',\n iconName: 'baseball-ball',\n icon: [496, 512, [], \"f433\", \"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"]\n};\nvar faBasketballBall = {\n prefix: 'fas',\n iconName: 'basketball-ball',\n icon: [496, 512, [], \"f434\", \"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"]\n};\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [], \"f2cd\", \"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [640, 512, [], \"f244\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [640, 512, [], \"f240\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [640, 512, [], \"f242\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [640, 512, [], \"f243\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [640, 512, [], \"f241\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [], \"f236\", \"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"]\n};\nvar faBeer = {\n prefix: 'fas',\n iconName: 'beer',\n icon: [448, 512, [], \"f0fc\", \"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"]\n};\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faBible = {\n prefix: 'fas',\n iconName: 'bible',\n icon: [448, 512, [], \"f647\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [], \"f206\", \"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"]\n};\nvar faBiking = {\n prefix: 'fas',\n iconName: 'biking',\n icon: [640, 512, [], \"f84a\", \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"]\n};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [], \"f780\", \"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faBirthdayCake = {\n prefix: 'fas',\n iconName: 'birthday-cake',\n icon: [448, 512, [], \"f1fd\", \"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBlind = {\n prefix: 'fas',\n iconName: 'blind',\n icon: [384, 512, [], \"f29d\", \"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [320, 512, [], \"f0e7\", \"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"]\n};\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [], \"f1e2\", \"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [640, 512, [], \"f5d7\", \"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"]\n};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [], \"f02d\", \"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"]\n};\nvar faBookDead = {\n prefix: 'fas',\n iconName: 'book-dead',\n icon: [448, 512, [], \"f6b7\", \"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"]\n};\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [], \"f518\", \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"]\n};\nvar faBookReader = {\n prefix: 'fas',\n iconName: 'book-reader',\n icon: [512, 512, [], \"f5da\", \"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderStyle = {\n prefix: 'fas',\n iconName: 'border-style',\n icon: [448, 512, [], \"f853\", \"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [496, 512, [], \"f436\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [512, 512, [], \"f466\", \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"]\n};\nvar faBoxes = {\n prefix: 'fas',\n iconName: 'boxes',\n icon: [576, 512, [], \"f468\", \"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [576, 512, [], \"f5dc\", \"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [576, 512, [], \"f7ec\", \"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [], \"f0b1\", \"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"]\n};\nvar faBroadcastTower = {\n prefix: 'fas',\n iconName: 'broadcast-tower',\n icon: [640, 512, [], \"f519\", \"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"]\n};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [640, 512, [], \"f51a\", \"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"]\n};\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"]\n};\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [576, 512, [], \"f0a1\", \"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [496, 512, [], \"f140\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"]\n};\nvar faBurn = {\n prefix: 'fas',\n iconName: 'burn',\n icon: [384, 512, [], \"f46a\", \"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [512, 512, [], \"f207\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusAlt = {\n prefix: 'fas',\n iconName: 'bus-alt',\n icon: [512, 512, [], \"f55e\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [], \"f64a\", \"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [448, 512, [], \"f1ec\", \"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"]\n};\nvar faCalendarAlt = {\n prefix: 'fas',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"]\n};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"]\n};\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"]\n};\nvar faCalendarTimes = {\n prefix: 'fas',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [], \"f030\", \"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"]\n};\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [], \"f083\", \"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [640, 512, [], \"f6bb\", \"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"]\n};\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"]\n};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [], \"f1b9\", \"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarAlt = {\n prefix: 'fas',\n iconName: 'car-alt',\n icon: [480, 512, [], \"f5de\", \"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [], \"f5df\", \"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faCarCrash = {\n prefix: 'fas',\n iconName: 'car-crash',\n icon: [640, 512, [], \"f5e1\", \"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"]\n};\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [], \"f5e4\", \"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [192, 512, [], \"f0d9\", \"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [192, 512, [], \"f0da\", \"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'fas',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'fas',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'fas',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'fas',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [], \"f787\", \"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"]\n};\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"]\n};\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [512, 512, [], \"f6be\", \"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"]\n};\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [], \"f6c0\", \"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [640, 512, [], \"f51b\", \"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChalkboardTeacher = {\n prefix: 'fas',\n iconName: 'chalkboard-teacher',\n icon: [640, 512, [], \"f51c\", \"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"]\n};\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [], \"f1fe\", \"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [], \"f201\", \"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [544, 512, [], \"f200\", \"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [512, 512, [], \"f00c\", \"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"]\n};\nvar faCheckCircle = {\n prefix: 'fas',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [512, 512, [], \"f560\", \"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"]\n};\nvar faCheckSquare = {\n prefix: 'fas',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"]\n};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"]\n};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [], \"f43a\", \"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [512, 512, [], \"f43c\", \"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [], \"f43f\", \"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"]\n};\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [384, 512, [], \"f441\", \"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [], \"f443\", \"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [], \"f445\", \"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [384, 512, [], \"f447\", \"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChevronCircleDown = {\n prefix: 'fas',\n iconName: 'chevron-circle-down',\n icon: [512, 512, [], \"f13a\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"]\n};\nvar faChevronCircleLeft = {\n prefix: 'fas',\n iconName: 'chevron-circle-left',\n icon: [512, 512, [], \"f137\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"]\n};\nvar faChevronCircleRight = {\n prefix: 'fas',\n iconName: 'chevron-circle-right',\n icon: [512, 512, [], \"f138\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"]\n};\nvar faChevronCircleUp = {\n prefix: 'fas',\n iconName: 'chevron-circle-up',\n icon: [512, 512, [], \"f139\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [448, 512, [], \"f078\", \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [], \"f053\", \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [], \"f054\", \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [448, 512, [], \"f077\", \"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [384, 512, [], \"f1ae\", \"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [], \"f51d\", \"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"]\n};\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [], \"f64f\", \"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"]\n};\nvar faClinicMedical = {\n prefix: 'fas',\n iconName: 'clinic-medical',\n icon: [576, 512, [], \"f7f2\", \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"]\n};\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"]\n};\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [], \"f0c2\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"]\n};\nvar faCloudDownloadAlt = {\n prefix: 'fas',\n iconName: 'cloud-download-alt',\n icon: [640, 512, [], \"f381\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"]\n};\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [576, 512, [], \"f6c3\", \"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"]\n};\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [], \"f73d\", \"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [], \"f6c4\", \"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [576, 512, [], \"f743\", \"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudUploadAlt = {\n prefix: 'fas',\n iconName: 'cloud-upload-alt',\n icon: [640, 512, [], \"f382\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"]\n};\nvar faCocktail = {\n prefix: 'fas',\n iconName: 'cocktail',\n icon: [576, 512, [], \"f561\", \"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"]\n};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [384, 512, [], \"f126\", \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"]\n};\nvar faCoffee = {\n prefix: 'fas',\n iconName: 'coffee',\n icon: [640, 512, [], \"f0f4\", \"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"]\n};\nvar faCog = {\n prefix: 'fas',\n iconName: 'cog',\n icon: [512, 512, [], \"f013\", \"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faCogs = {\n prefix: 'fas',\n iconName: 'cogs',\n icon: [640, 512, [], \"f085\", \"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"]\n};\nvar faColumns = {\n prefix: 'fas',\n iconName: 'columns',\n icon: [512, 512, [], \"f0db\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"]\n};\nvar faCommentAlt = {\n prefix: 'fas',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"]\n};\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"]\n};\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"]\n};\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [576, 512, [], \"f653\", \"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [496, 512, [], \"f51f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faCompressAlt = {\n prefix: 'fas',\n iconName: 'compress-alt',\n icon: [448, 512, [], \"f422\", \"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"]\n};\nvar faCompressArrowsAlt = {\n prefix: 'fas',\n iconName: 'compress-arrows-alt',\n icon: [512, 512, [], \"f78c\", \"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"]\n};\nvar faConciergeBell = {\n prefix: 'fas',\n iconName: 'concierge-bell',\n icon: [512, 512, [], \"f562\", \"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [], \"f563\", \"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"]\n};\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faCropAlt = {\n prefix: 'fas',\n iconName: 'crop-alt',\n icon: [512, 512, [], \"f565\", \"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [], \"f654\", \"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"]\n};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [640, 512, [], \"f521\", \"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"]\n};\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"]\n};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [512, 512, [], \"f1b3\", \"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"]\n};\nvar faCut = {\n prefix: 'fas',\n iconName: 'cut',\n icon: [448, 512, [], \"f0c4\", \"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"]\n};\nvar faDeaf = {\n prefix: 'fas',\n iconName: 'deaf',\n icon: [512, 512, [], \"f2a4\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [], \"f108\", \"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [], \"f655\", \"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"]\n};\nvar faDiagnoses = {\n prefix: 'fas',\n iconName: 'diagnoses',\n icon: [640, 512, [], \"f470\", \"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [], \"f522\", \"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [480, 512, [], \"f6cf\", \"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [], \"f523\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [], \"f524\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [], \"f525\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [], \"f526\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [], \"f527\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [], \"f528\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDigitalTachograph = {\n prefix: 'fas',\n iconName: 'digital-tachograph',\n icon: [640, 512, [], \"f566\", \"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"]\n};\nvar faDirections = {\n prefix: 'fas',\n iconName: 'directions',\n icon: [512, 512, [], \"f5eb\", \"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [], \"f529\", \"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faDizzy = {\n prefix: 'fas',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"]\n};\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [], \"f471\", \"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"]\n};\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [], \"f6d3\", \"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"]\n};\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [288, 512, [], \"f155\", \"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [], \"f472\", \"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faDollyFlatbed = {\n prefix: 'fas',\n iconName: 'dolly-flatbed',\n icon: [640, 512, [], \"f474\", \"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDonate = {\n prefix: 'fas',\n iconName: 'donate',\n icon: [512, 512, [], \"f4b9\", \"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"]\n};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [640, 512, [], \"f52a\", \"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"]\n};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [640, 512, [], \"f52b\", \"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"]\n};\nvar faDotCircle = {\n prefix: 'fas',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [], \"f4ba\", \"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faDraftingCompass = {\n prefix: 'fas',\n iconName: 'drafting-compass',\n icon: [512, 512, [], \"f568\", \"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [], \"f6d5\", \"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [], \"f569\", \"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"]\n};\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"]\n};\nvar faEdit = {\n prefix: 'fas',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"]\n};\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [], \"f7fb\", \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [], \"f052\", \"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"]\n};\nvar faEllipsisH = {\n prefix: 'fas',\n iconName: 'ellipsis-h',\n icon: [512, 512, [], \"f141\", \"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEllipsisV = {\n prefix: 'fas',\n iconName: 'ellipsis-v',\n icon: [192, 512, [], \"f142\", \"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"]\n};\nvar faEnvelopeSquare = {\n prefix: 'fas',\n iconName: 'envelope-square',\n icon: [448, 512, [], \"f199\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [], \"f52c\", \"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [512, 512, [], \"f12d\", \"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [], \"f153\", \"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"]\n};\nvar faExchangeAlt = {\n prefix: 'fas',\n iconName: 'exchange-alt',\n icon: [512, 512, [], \"f362\", \"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [192, 512, [], \"f12a\", \"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"]\n};\nvar faExclamationCircle = {\n prefix: 'fas',\n iconName: 'exclamation-circle',\n icon: [512, 512, [], \"f06a\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExclamationTriangle = {\n prefix: 'fas',\n iconName: 'exclamation-triangle',\n icon: [576, 512, [], \"f071\", \"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"]\n};\nvar faExpandAlt = {\n prefix: 'fas',\n iconName: 'expand-alt',\n icon: [448, 512, [], \"f424\", \"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"]\n};\nvar faExpandArrowsAlt = {\n prefix: 'fas',\n iconName: 'expand-arrows-alt',\n icon: [448, 512, [], \"f31e\", \"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"]\n};\nvar faExternalLinkAlt = {\n prefix: 'fas',\n iconName: 'external-link-alt',\n icon: [512, 512, [], \"f35d\", \"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"]\n};\nvar faExternalLinkSquareAlt = {\n prefix: 'fas',\n iconName: 'external-link-square-alt',\n icon: [448, 512, [], \"f360\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"]\n};\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"]\n};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [], \"f1fb\", \"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faFastBackward = {\n prefix: 'fas',\n iconName: 'fast-backward',\n icon: [512, 512, [], \"f049\", \"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"]\n};\nvar faFastForward = {\n prefix: 'fas',\n iconName: 'fast-forward',\n icon: [512, 512, [], \"f050\", \"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [], \"f1ac\", \"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [], \"f52d\", \"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"]\n};\nvar faFeatherAlt = {\n prefix: 'fas',\n iconName: 'feather-alt',\n icon: [512, 512, [], \"f56b\", \"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"]\n};\nvar faFemale = {\n prefix: 'fas',\n iconName: 'female',\n icon: [256, 512, [], \"f182\", \"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"]\n};\nvar faFighterJet = {\n prefix: 'fas',\n iconName: 'fighter-jet',\n icon: [640, 512, [], \"f0fb\", \"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"]\n};\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileAlt = {\n prefix: 'fas',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileArchive = {\n prefix: 'fas',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [384, 512, [], \"f6dd\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileDownload = {\n prefix: 'fas',\n iconName: 'file-download',\n icon: [384, 512, [], \"f56d\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [], \"f56e\", \"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"]\n};\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [], \"f56f\", \"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"]\n};\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"]\n};\nvar faFileMedicalAlt = {\n prefix: 'fas',\n iconName: 'file-medical-alt',\n icon: [448, 512, [], \"f478\", \"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"]\n};\nvar faFileUpload = {\n prefix: 'fas',\n iconName: 'file-upload',\n icon: [384, 512, [], \"f574\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"]\n};\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"]\n};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [], \"f008\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [384, 512, [], \"f06d\", \"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"]\n};\nvar faFireAlt = {\n prefix: 'fas',\n iconName: 'fire-alt',\n icon: [448, 512, [], \"f7e4\", \"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [448, 512, [], \"f134\", \"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"]\n};\nvar faFirstAid = {\n prefix: 'fas',\n iconName: 'first-aid',\n icon: [576, 512, [], \"f479\", \"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [], \"f578\", \"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFistRaised = {\n prefix: 'fas',\n iconName: 'fist-raised',\n icon: [384, 512, [], \"f6de\", \"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [512, 512, [], \"f11e\", \"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"]\n};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [512, 512, [], \"f74d\", \"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"]\n};\nvar faFlushed = {\n prefix: 'fas',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"]\n};\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fas',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFootballBall = {\n prefix: 'fas',\n iconName: 'football-ball',\n icon: [496, 512, [], \"f44e\", \"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [], \"f04e\", \"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFrown = {\n prefix: 'fas',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"]\n};\nvar faFrownOpen = {\n prefix: 'fas',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faFunnelDollar = {\n prefix: 'fas',\n iconName: 'funnel-dollar',\n icon: [640, 512, [], \"f662\", \"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [], \"f1e3\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [], \"f52f\", \"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [], \"f0e3\", \"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [288, 512, [], \"f22d\", \"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"]\n};\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [], \"f6e2\", \"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [], \"f06b\", \"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"]\n};\nvar faGlassCheers = {\n prefix: 'fas',\n iconName: 'glass-cheers',\n icon: [640, 512, [], \"f79f\", \"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"]\n};\nvar faGlassMartini = {\n prefix: 'fas',\n iconName: 'glass-martini',\n icon: [512, 512, [], \"f000\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"]\n};\nvar faGlassMartiniAlt = {\n prefix: 'fas',\n iconName: 'glass-martini-alt',\n icon: [512, 512, [], \"f57b\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"]\n};\nvar faGlassWhiskey = {\n prefix: 'fas',\n iconName: 'glass-whiskey',\n icon: [512, 512, [], \"f7a0\", \"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [496, 512, [], \"f0ac\", \"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"]\n};\nvar faGlobeAfrica = {\n prefix: 'fas',\n iconName: 'globe-africa',\n icon: [496, 512, [], \"f57c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"]\n};\nvar faGlobeAmericas = {\n prefix: 'fas',\n iconName: 'globe-americas',\n icon: [496, 512, [], \"f57d\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"]\n};\nvar faGlobeAsia = {\n prefix: 'fas',\n iconName: 'globe-asia',\n icon: [496, 512, [], \"f57e\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"]\n};\nvar faGlobeEurope = {\n prefix: 'fas',\n iconName: 'globe-europe',\n icon: [496, 512, [], \"f7a2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"]\n};\nvar faGolfBall = {\n prefix: 'fas',\n iconName: 'golf-ball',\n icon: [416, 512, [], \"f450\", \"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [], \"f19d\", \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [], \"f531\", \"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faGrimace = {\n prefix: 'fas',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"]\n};\nvar faGrin = {\n prefix: 'fas',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinAlt = {\n prefix: 'fas',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'fas',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'grin-beam-sweat',\n icon: [504, 512, [], \"f583\", \"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinHearts = {\n prefix: 'fas',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"]\n};\nvar faGrinSquint = {\n prefix: 'fas',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'fas',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"]\n};\nvar faGrinStars = {\n prefix: 'fas',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"]\n};\nvar faGrinTears = {\n prefix: 'fas',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinTongue = {\n prefix: 'fas',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'fas',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinWink = {\n prefix: 'fas',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"]\n};\nvar faGripHorizontal = {\n prefix: 'fas',\n iconName: 'grip-horizontal',\n icon: [448, 512, [], \"f58d\", \"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [512, 512, [], \"f7a4\", \"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [256, 512, [], \"f7a5\", \"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faHSquare = {\n prefix: 'fas',\n iconName: 'h-square',\n icon: [448, 512, [], \"f0fd\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"]\n};\nvar faHamburger = {\n prefix: 'fas',\n iconName: 'hamburger',\n icon: [512, 512, [], \"f805\", \"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"]\n};\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [], \"f6e3\", \"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"]\n};\nvar faHandHoldingUsd = {\n prefix: 'fas',\n iconName: 'hand-holding-usd',\n icon: [576, 512, [], \"f4c0\", \"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"]\n};\nvar faHandHoldingWater = {\n prefix: 'fas',\n iconName: 'hand-holding-water',\n icon: [576, 512, [], \"f4c1\", \"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [512, 512, [], \"f806\", \"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"]\n};\nvar faHandPaper = {\n prefix: 'fas',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [], \"f0a6\", \"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"]\n};\nvar faHandRock = {\n prefix: 'fas',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"]\n};\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [640, 512, [], \"f4c2\", \"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"]\n};\nvar faHandsHelping = {\n prefix: 'fas',\n iconName: 'hands-helping',\n icon: [640, 512, [], \"f4c4\", \"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"]\n};\nvar faHandsWash = {\n prefix: 'fas',\n iconName: 'hands-wash',\n icon: [576, 512, [], \"e05e\", \"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"]\n};\nvar faHandshakeAltSlash = {\n prefix: 'fas',\n iconName: 'handshake-alt-slash',\n icon: [640, 512, [], \"e05f\", \"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [], \"f6e6\", \"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"]\n};\nvar faHardHat = {\n prefix: 'fas',\n iconName: 'hard-hat',\n icon: [512, 512, [], \"f807\", \"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [], \"f292\", \"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"]\n};\nvar faHdd = {\n prefix: 'fas',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [512, 512, [], \"e063\", \"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [512, 512, [], \"f1dc\", \"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"]\n};\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [], \"f025\", \"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"]\n};\nvar faHeadphonesAlt = {\n prefix: 'fas',\n iconName: 'headphones-alt',\n icon: [512, 512, [], \"f58f\", \"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"]\n};\nvar faHeartBroken = {\n prefix: 'fas',\n iconName: 'heart-broken',\n icon: [512, 512, [], \"f7a9\", \"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHeartbeat = {\n prefix: 'fas',\n iconName: 'heartbeat',\n icon: [512, 512, [], \"f21e\", \"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [], \"f533\", \"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"]\n};\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [544, 512, [], \"f591\", \"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"]\n};\nvar faHiking = {\n prefix: 'fas',\n iconName: 'hiking',\n icon: [384, 512, [], \"f6ec\", \"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [], \"f6ed\", \"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHistory = {\n prefix: 'fas',\n iconName: 'history',\n icon: [512, 512, [], \"f1da\", \"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [448, 512, [], \"f7aa\", \"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"]\n};\nvar faHome = {\n prefix: 'fas',\n iconName: 'home',\n icon: [576, 512, [], \"f015\", \"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [], \"f6f0\", \"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [512, 512, [], \"f7ab\", \"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"]\n};\nvar faHospitalAlt = {\n prefix: 'fas',\n iconName: 'hospital-alt',\n icon: [576, 512, [], \"f47d\", \"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faHospitalSymbol = {\n prefix: 'fas',\n iconName: 'hospital-symbol',\n icon: [512, 512, [], \"f47e\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"]\n};\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [640, 512, [], \"f80d\", \"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"]\n};\nvar faHotTub = {\n prefix: 'fas',\n iconName: 'hot-tub',\n icon: [512, 512, [], \"f593\", \"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [], \"f80f\", \"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [576, 512, [], \"f594\", \"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [], \"f253\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [], \"f252\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [], \"f251\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"]\n};\nvar faHouseDamage = {\n prefix: 'fas',\n iconName: 'house-damage',\n icon: [576, 512, [], \"f6f1\", \"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [], \"e065\", \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"]\n};\nvar faHryvnia = {\n prefix: 'fas',\n iconName: 'hryvnia',\n icon: [384, 512, [], \"f6f2\", \"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [], \"f810\", \"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [], \"f86d\", \"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"]\n};\nvar faIdCardAlt = {\n prefix: 'fas',\n iconName: 'id-card-alt',\n icon: [576, 512, [], \"f47f\", \"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [576, 512, [], \"f01c\", \"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [512, 512, [], \"f275\", \"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [], \"f534\", \"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"]\n};\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"]\n};\nvar faInfoCircle = {\n prefix: 'fas',\n iconName: 'info-circle',\n icon: [512, 512, [], \"f05a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [320, 512, [], \"f033\", \"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"]\n};\nvar faJournalWhills = {\n prefix: 'fas',\n iconName: 'journal-whills',\n icon: [448, 512, [], \"f66a\", \"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [], \"f66b\", \"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [], \"f084\", \"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [], \"f66d\", \"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"]\n};\nvar faKiss = {\n prefix: 'fas',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faKissBeam = {\n prefix: 'fas',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'fas',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [], \"f66f\", \"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"]\n};\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [], \"f109\", \"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopHouse = {\n prefix: 'fas',\n iconName: 'laptop-house',\n icon: [640, 512, [], \"e066\", \"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"]\n};\nvar faLaugh = {\n prefix: 'fas',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"]\n};\nvar faLaughBeam = {\n prefix: 'fas',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughSquint = {\n prefix: 'fas',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughWink = {\n prefix: 'fas',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [512, 512, [], \"f5fd\", \"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [576, 512, [], \"f06c\", \"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"]\n};\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [], \"f536\", \"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"]\n};\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faLevelDownAlt = {\n prefix: 'fas',\n iconName: 'level-down-alt',\n icon: [320, 512, [], \"f3be\", \"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"]\n};\nvar faLevelUpAlt = {\n prefix: 'fas',\n iconName: 'level-up-alt',\n icon: [320, 512, [], \"f3bf\", \"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"]\n};\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [512, 512, [], \"f0c1\", \"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [384, 512, [], \"f195\", \"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [], \"f03a\", \"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faListAlt = {\n prefix: 'fas',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"]\n};\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [], \"f0cb\", \"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [], \"f0ca\", \"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [512, 512, [], \"f124\", \"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"]\n};\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [], \"f023\", \"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"]\n};\nvar faLongArrowAltDown = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-down',\n icon: [256, 512, [], \"f309\", \"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"]\n};\nvar faLongArrowAltLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-left',\n icon: [448, 512, [], \"f30a\", \"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"]\n};\nvar faLongArrowAltRight = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-right',\n icon: [448, 512, [], \"f30b\", \"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"]\n};\nvar faLongArrowAltUp = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-up',\n icon: [256, 512, [], \"f30c\", \"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"]\n};\nvar faLowVision = {\n prefix: 'fas',\n iconName: 'low-vision',\n icon: [576, 512, [], \"f2a8\", \"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"]\n};\nvar faLuggageCart = {\n prefix: 'fas',\n iconName: 'luggage-cart',\n icon: [640, 512, [], \"f59d\", \"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [], \"f604\", \"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"]\n};\nvar faMagic = {\n prefix: 'fas',\n iconName: 'magic',\n icon: [512, 512, [], \"f0d0\", \"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [512, 512, [], \"f076\", \"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"]\n};\nvar faMailBulk = {\n prefix: 'fas',\n iconName: 'mail-bulk',\n icon: [576, 512, [], \"f674\", \"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"]\n};\nvar faMale = {\n prefix: 'fas',\n iconName: 'male',\n icon: [192, 512, [], \"f183\", \"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarked = {\n prefix: 'fas',\n iconName: 'map-marked',\n icon: [576, 512, [], \"f59f\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarkedAlt = {\n prefix: 'fas',\n iconName: 'map-marked-alt',\n icon: [576, 512, [], \"f5a0\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarker = {\n prefix: 'fas',\n iconName: 'map-marker',\n icon: [384, 512, [], \"f041\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"]\n};\nvar faMapMarkerAlt = {\n prefix: 'fas',\n iconName: 'map-marker-alt',\n icon: [384, 512, [], \"f3c5\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [288, 512, [], \"f276\", \"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"]\n};\nvar faMapSigns = {\n prefix: 'fas',\n iconName: 'map-signs',\n icon: [512, 512, [], \"f277\", \"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [384, 512, [], \"f222\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [512, 512, [], \"f227\", \"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [384, 512, [], \"f229\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsStrokeH = {\n prefix: 'fas',\n iconName: 'mars-stroke-h',\n icon: [480, 512, [], \"f22b\", \"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMarsStrokeV = {\n prefix: 'fas',\n iconName: 'mars-stroke-v',\n icon: [288, 512, [], \"f22a\", \"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [640, 512, [], \"f6fa\", \"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"]\n};\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [], \"f5a2\", \"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"]\n};\nvar faMedkit = {\n prefix: 'fas',\n iconName: 'medkit',\n icon: [512, 512, [], \"f0fa\", \"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"]\n};\nvar faMeh = {\n prefix: 'fas',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehBlank = {\n prefix: 'fas',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'fas',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"]\n};\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [640, 512, [], \"f538\", \"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"]\n};\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [288, 512, [], \"f223\", \"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [], \"f753\", \"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [352, 512, [], \"f130\", \"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneAlt = {\n prefix: 'fas',\n iconName: 'microphone-alt',\n icon: [352, 512, [], \"f3c9\", \"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"]\n};\nvar faMicrophoneAltSlash = {\n prefix: 'fas',\n iconName: 'microphone-alt-slash',\n icon: [640, 512, [], \"f539\", \"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [], \"f610\", \"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [], \"f068\", \"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faMinusCircle = {\n prefix: 'fas',\n iconName: 'minus-circle',\n icon: [512, 512, [], \"f056\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"]\n};\nvar faMinusSquare = {\n prefix: 'fas',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"]\n};\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [320, 512, [], \"f10b\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMobileAlt = {\n prefix: 'fas',\n iconName: 'mobile-alt',\n icon: [320, 512, [], \"f3cd\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [640, 512, [], \"f0d6\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'fas',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [640, 512, [], \"f53a\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"]\n};\nvar faMoneyBillWaveAlt = {\n prefix: 'fas',\n iconName: 'money-bill-wave-alt',\n icon: [640, 512, [], \"f53b\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [640, 512, [], \"f53c\", \"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMoneyCheckAlt = {\n prefix: 'fas',\n iconName: 'money-check-alt',\n icon: [640, 512, [], \"f53d\", \"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [], \"f678\", \"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [], \"f21c\", \"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"]\n};\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [640, 512, [], \"f6fc\", \"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"]\n};\nvar faMouse = {\n prefix: 'fas',\n iconName: 'mouse',\n icon: [384, 512, [], \"f8cc\", \"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"]\n};\nvar faMousePointer = {\n prefix: 'fas',\n iconName: 'mouse-pointer',\n icon: [320, 512, [], \"f245\", \"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"]\n};\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [], \"f7b6\", \"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [], \"f001\", \"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [288, 512, [], \"f22c\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [384, 512, [], \"f481\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"]\n};\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"]\n};\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [], \"f679\", \"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [], \"f700\", \"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"]\n};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [], \"f03b\", \"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [], \"f815\", \"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"]\n};\nvar faPaintBrush = {\n prefix: 'fas',\n iconName: 'paint-brush',\n icon: [512, 512, [], \"f1fc\", \"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"]\n};\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [], \"f53f\", \"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"]\n};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"]\n};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [], \"f0c6\", \"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [], \"f1dd\", \"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"]\n};\nvar faParking = {\n prefix: 'fas',\n iconName: 'parking',\n icon: [448, 512, [], \"f540\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"]\n};\nvar faPastafarianism = {\n prefix: 'fas',\n iconName: 'pastafarianism',\n icon: [640, 512, [], \"f67b\", \"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [448, 512, [], \"f0ea\", \"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [448, 512, [], \"f04c\", \"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"]\n};\nvar faPauseCircle = {\n prefix: 'fas',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [496, 512, [], \"f67c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [], \"f304\", \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"]\n};\nvar faPenAlt = {\n prefix: 'fas',\n iconName: 'pen-alt',\n icon: [512, 512, [], \"f305\", \"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [], \"f5ac\", \"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [], \"f5ad\", \"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"]\n};\nvar faPenSquare = {\n prefix: 'fas',\n iconName: 'pen-square',\n icon: [448, 512, [], \"f14b\", \"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"]\n};\nvar faPencilAlt = {\n prefix: 'fas',\n iconName: 'pencil-alt',\n icon: [512, 512, [], \"f303\", \"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"]\n};\nvar faPencilRuler = {\n prefix: 'fas',\n iconName: 'pencil-ruler',\n icon: [512, 512, [], \"f5ae\", \"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [576, 512, [], \"e068\", \"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"]\n};\nvar faPeopleCarry = {\n prefix: 'fas',\n iconName: 'people-carry',\n icon: [640, 512, [], \"f4ce\", \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"]\n};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [], \"f816\", \"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [448, 512, [], \"f295\", \"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"]\n};\nvar faPercentage = {\n prefix: 'fas',\n iconName: 'percentage',\n icon: [384, 512, [], \"f541\", \"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"]\n};\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [], \"f095\", \"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"]\n};\nvar faPhoneAlt = {\n prefix: 'fas',\n iconName: 'phone-alt',\n icon: [512, 512, [], \"f879\", \"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faPhoneSquare = {\n prefix: 'fas',\n iconName: 'phone-square',\n icon: [448, 512, [], \"f098\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"]\n};\nvar faPhoneSquareAlt = {\n prefix: 'fas',\n iconName: 'phone-square-alt',\n icon: [448, 512, [], \"f87b\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [384, 512, [], \"f2a0\", \"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"]\n};\nvar faPhotoVideo = {\n prefix: 'fas',\n iconName: 'photo-video',\n icon: [640, 512, [], \"f87c\", \"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"]\n};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"]\n};\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [], \"f5af\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [], \"f5b0\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [448, 512, [], \"f04b\", \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"]\n};\nvar faPlayCircle = {\n prefix: 'fas',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [], \"f1e6\", \"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"]\n};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [], \"f067\", \"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPlusCircle = {\n prefix: 'fas',\n iconName: 'plus-circle',\n icon: [512, 512, [], \"f055\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPlusSquare = {\n prefix: 'fas',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"]\n};\nvar faPoll = {\n prefix: 'fas',\n iconName: 'poll',\n icon: [448, 512, [], \"f681\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"]\n};\nvar faPollH = {\n prefix: 'fas',\n iconName: 'poll-h',\n icon: [448, 512, [], \"f682\", \"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [], \"f2fe\", \"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [], \"f75a\", \"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"]\n};\nvar faPortrait = {\n prefix: 'fas',\n iconName: 'portrait',\n icon: [384, 512, [], \"f3e0\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faPoundSign = {\n prefix: 'fas',\n iconName: 'pound-sign',\n icon: [320, 512, [], \"f154\", \"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [], \"f011\", \"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"]\n};\nvar faPray = {\n prefix: 'fas',\n iconName: 'pray',\n icon: [384, 512, [], \"f683\", \"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"]\n};\nvar faPrayingHands = {\n prefix: 'fas',\n iconName: 'praying-hands',\n icon: [640, 512, [], \"f684\", \"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"]\n};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [384, 512, [], \"f5b1\", \"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"]\n};\nvar faPrescriptionBottleAlt = {\n prefix: 'fas',\n iconName: 'prescription-bottle-alt',\n icon: [384, 512, [], \"f486\", \"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [], \"f02f\", \"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faProcedures = {\n prefix: 'fas',\n iconName: 'procedures',\n icon: [640, 512, [], \"f487\", \"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faProjectDiagram = {\n prefix: 'fas',\n iconName: 'project-diagram',\n icon: [640, 512, [], \"f542\", \"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [384, 512, [], \"e06a\", \"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"]\n};\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [384, 512, [], \"e06b\", \"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [576, 512, [], \"f12e\", \"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"]\n};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [384, 512, [], \"f128\", \"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"]\n};\nvar faQuestionCircle = {\n prefix: 'fas',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"]\n};\nvar faQuidditch = {\n prefix: 'fas',\n iconName: 'quidditch',\n icon: [640, 512, [], \"f458\", \"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [512, 512, [], \"f10d\", \"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [512, 512, [], \"f10e\", \"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuran = {\n prefix: 'fas',\n iconName: 'quran',\n icon: [448, 512, [], \"f687\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [496, 512, [], \"f7b9\", \"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"]\n};\nvar faRadiationAlt = {\n prefix: 'fas',\n iconName: 'radiation-alt',\n icon: [496, 512, [], \"f7ba\", \"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [576, 512, [], \"f75b\", \"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"]\n};\nvar faRandom = {\n prefix: 'fas',\n iconName: 'random',\n icon: [512, 512, [], \"f074\", \"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"]\n};\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [], \"f543\", \"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"]\n};\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [], \"f1b8\", \"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"]\n};\nvar faRedo = {\n prefix: 'fas',\n iconName: 'redo',\n icon: [512, 512, [], \"f01e\", \"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"]\n};\nvar faRedoAlt = {\n prefix: 'fas',\n iconName: 'redo-alt',\n icon: [512, 512, [], \"f2f9\", \"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"]\n};\nvar faRemoveFormat = {\n prefix: 'fas',\n iconName: 'remove-format',\n icon: [640, 512, [], \"f87d\", \"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [], \"f3e5\", \"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [], \"f122\", \"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [640, 512, [], \"f079\", \"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [], \"f4d6\", \"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [], \"f018\", \"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [], \"f544\", \"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [], \"f09e\", \"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"]\n};\nvar faRssSquare = {\n prefix: 'fas',\n iconName: 'rss-square',\n icon: [448, 512, [], \"f143\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"]\n};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [], \"f158\", \"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [640, 512, [], \"f545\", \"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [576, 512, [], \"f547\", \"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"]\n};\nvar faRunning = {\n prefix: 'fas',\n iconName: 'running',\n icon: [416, 512, [], \"f70c\", \"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [320, 512, [], \"f156\", \"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"]\n};\nvar faSadCry = {\n prefix: 'fas',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"]\n};\nvar faSadTear = {\n prefix: 'fas',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [], \"f7bf\", \"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"]\n};\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [], \"f7c0\", \"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"]\n};\nvar faSave = {\n prefix: 'fas',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [], \"f549\", \"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [], \"f54a\", \"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [640, 512, [], \"f70e\", \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"]\n};\nvar faSearch = {\n prefix: 'fas',\n iconName: 'search',\n icon: [512, 512, [], \"f002\", \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"]\n};\nvar faSearchDollar = {\n prefix: 'fas',\n iconName: 'search-dollar',\n icon: [512, 512, [], \"f688\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"]\n};\nvar faSearchLocation = {\n prefix: 'fas',\n iconName: 'search-location',\n icon: [512, 512, [], \"f689\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faSearchMinus = {\n prefix: 'fas',\n iconName: 'search-minus',\n icon: [512, 512, [], \"f010\", \"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSearchPlus = {\n prefix: 'fas',\n iconName: 'search-plus',\n icon: [512, 512, [], \"f00e\", \"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [], \"f4d8\", \"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [], \"f61f\", \"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [], \"f064\", \"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"]\n};\nvar faShareAlt = {\n prefix: 'fas',\n iconName: 'share-alt',\n icon: [448, 512, [], \"f1e0\", \"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"]\n};\nvar faShareAltSquare = {\n prefix: 'fas',\n iconName: 'share-alt-square',\n icon: [448, 512, [], \"f1e1\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"]\n};\nvar faShareSquare = {\n prefix: 'fas',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [], \"f20b\", \"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faShieldAlt = {\n prefix: 'fas',\n iconName: 'shield-alt',\n icon: [512, 512, [], \"f3ed\", \"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [640, 512, [], \"f21a\", \"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"]\n};\nvar faShippingFast = {\n prefix: 'fas',\n iconName: 'shipping-fast',\n icon: [640, 512, [], \"f48b\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"]\n};\nvar faShoppingBag = {\n prefix: 'fas',\n iconName: 'shopping-bag',\n icon: [448, 512, [], \"f290\", \"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"]\n};\nvar faShoppingBasket = {\n prefix: 'fas',\n iconName: 'shopping-basket',\n icon: [576, 512, [], \"f291\", \"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"]\n};\nvar faShoppingCart = {\n prefix: 'fas',\n iconName: 'shopping-cart',\n icon: [576, 512, [], \"f07a\", \"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [], \"f2cc\", \"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"]\n};\nvar faShuttleVan = {\n prefix: 'fas',\n iconName: 'shuttle-van',\n icon: [640, 512, [], \"f5b6\", \"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"]\n};\nvar faSign = {\n prefix: 'fas',\n iconName: 'sign',\n icon: [512, 512, [], \"f4d9\", \"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"]\n};\nvar faSignInAlt = {\n prefix: 'fas',\n iconName: 'sign-in-alt',\n icon: [512, 512, [], \"f2f6\", \"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"]\n};\nvar faSignLanguage = {\n prefix: 'fas',\n iconName: 'sign-language',\n icon: [448, 512, [], \"f2a7\", \"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"]\n};\nvar faSignOutAlt = {\n prefix: 'fas',\n iconName: 'sign-out-alt',\n icon: [512, 512, [], \"f2f5\", \"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [], \"f012\", \"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"]\n};\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [640, 512, [], \"f0e8\", \"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faSkating = {\n prefix: 'fas',\n iconName: 'skating',\n icon: [448, 512, [], \"f7c5\", \"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSkiing = {\n prefix: 'fas',\n iconName: 'skiing',\n icon: [512, 512, [], \"f7c9\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"]\n};\nvar faSkiingNordic = {\n prefix: 'fas',\n iconName: 'skiing-nordic',\n icon: [576, 512, [], \"f7ca\", \"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [], \"f54c\", \"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [], \"f714\", \"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"]\n};\nvar faSlidersH = {\n prefix: 'fas',\n iconName: 'sliders-h',\n icon: [512, 512, [], \"f1de\", \"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"]\n};\nvar faSmile = {\n prefix: 'fas',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"]\n};\nvar faSmileBeam = {\n prefix: 'fas',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"]\n};\nvar faSmileWink = {\n prefix: 'fas',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"]\n};\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [], \"f48d\", \"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"]\n};\nvar faSmokingBan = {\n prefix: 'fas',\n iconName: 'smoking-ban',\n icon: [512, 512, [], \"f54d\", \"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"]\n};\nvar faSms = {\n prefix: 'fas',\n iconName: 'sms',\n icon: [512, 512, [], \"f7cd\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"]\n};\nvar faSnowboarding = {\n prefix: 'fas',\n iconName: 'snowboarding',\n icon: [512, 512, [], \"f7ce\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [], \"f7d0\", \"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [], \"e06e\", \"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"]\n};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [], \"f696\", \"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [], \"f0dc\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"]\n};\nvar faSortAlphaDown = {\n prefix: 'fas',\n iconName: 'sort-alpha-down',\n icon: [448, 512, [], \"f15d\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaDownAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-down-alt',\n icon: [448, 512, [], \"f881\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAlphaUp = {\n prefix: 'fas',\n iconName: 'sort-alpha-up',\n icon: [448, 512, [], \"f15e\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaUpAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-up-alt',\n icon: [448, 512, [], \"f882\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAmountDown = {\n prefix: 'fas',\n iconName: 'sort-amount-down',\n icon: [512, 512, [], \"f160\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountDownAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-down-alt',\n icon: [512, 512, [], \"f884\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortAmountUp = {\n prefix: 'fas',\n iconName: 'sort-amount-up',\n icon: [512, 512, [], \"f161\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountUpAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-up-alt',\n icon: [512, 512, [], \"f885\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [], \"f0dd\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"]\n};\nvar faSortNumericDown = {\n prefix: 'fas',\n iconName: 'sort-numeric-down',\n icon: [448, 512, [], \"f162\", \"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortNumericDownAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-down-alt',\n icon: [448, 512, [], \"f886\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortNumericUp = {\n prefix: 'fas',\n iconName: 'sort-numeric-up',\n icon: [448, 512, [], \"f163\", \"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"]\n};\nvar faSortNumericUpAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-up-alt',\n icon: [448, 512, [], \"f887\", \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [], \"f0de\", \"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"]\n};\nvar faSpaceShuttle = {\n prefix: 'fas',\n iconName: 'space-shuttle',\n icon: [640, 512, [], \"f197\", \"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [576, 512, [], \"f717\", \"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"]\n};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [], \"f45c\", \"M512 512H0V0h512v512z\"]\n};\nvar faSquareRootAlt = {\n prefix: 'fas',\n iconName: 'square-root-alt',\n icon: [576, 512, [], \"f698\", \"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"]\n};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"]\n};\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [], \"f699\", \"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"]\n};\nvar faStarHalfAlt = {\n prefix: 'fas',\n iconName: 'star-half-alt',\n icon: [536, 512, [], \"f5c0\", \"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [464, 512, [], \"f69a\", \"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [480, 512, [], \"f621\", \"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"]\n};\nvar faStepBackward = {\n prefix: 'fas',\n iconName: 'step-backward',\n icon: [448, 512, [], \"f048\", \"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"]\n};\nvar faStepForward = {\n prefix: 'fas',\n iconName: 'step-forward',\n icon: [448, 512, [], \"f051\", \"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"]\n};\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [512, 512, [], \"f0f1\", \"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faStickyNote = {\n prefix: 'fas',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"]\n};\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [448, 512, [], \"f04d\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faStopCircle = {\n prefix: 'fas',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [], \"f2f2\", \"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [616, 512, [], \"f54e\", \"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"]\n};\nvar faStoreAlt = {\n prefix: 'fas',\n iconName: 'store-alt',\n icon: [640, 512, [], \"f54f\", \"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"]\n};\nvar faStoreAltSlash = {\n prefix: 'fas',\n iconName: 'store-alt-slash',\n icon: [640, 512, [], \"e070\", \"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"]\n};\nvar faStream = {\n prefix: 'fas',\n iconName: 'stream',\n icon: [512, 512, [], \"f550\", \"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"]\n};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSubway = {\n prefix: 'fas',\n iconName: 'subway',\n icon: [448, 512, [], \"f239\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [], \"f0f2\", \"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"]\n};\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"]\n};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSurprise = {\n prefix: 'fas',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"]\n};\nvar faSwimmer = {\n prefix: 'fas',\n iconName: 'swimmer',\n icon: [640, 512, [], \"f5c4\", \"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"]\n};\nvar faSwimmingPool = {\n prefix: 'fas',\n iconName: 'swimming-pool',\n icon: [640, 512, [], \"f5c5\", \"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [], \"f69b\", \"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"]\n};\nvar faSync = {\n prefix: 'fas',\n iconName: 'sync',\n icon: [512, 512, [], \"f021\", \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"]\n};\nvar faSyncAlt = {\n prefix: 'fas',\n iconName: 'sync-alt',\n icon: [512, 512, [], \"f2f1\", \"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [], \"f48e\", \"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"]\n};\nvar faTableTennis = {\n prefix: 'fas',\n iconName: 'table-tennis',\n icon: [512, 512, [], \"f45d\", \"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [], \"f10a\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faTabletAlt = {\n prefix: 'fas',\n iconName: 'tablet-alt',\n icon: [448, 512, [], \"f3fa\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"]\n};\nvar faTachometerAlt = {\n prefix: 'fas',\n iconName: 'tachometer-alt',\n icon: [576, 512, [], \"f3fd\", \"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [512, 512, [], \"f02b\", \"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [640, 512, [], \"f02c\", \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"]\n};\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [640, 512, [], \"f4db\", \"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"]\n};\nvar faTasks = {\n prefix: 'fas',\n iconName: 'tasks',\n icon: [512, 512, [], \"f0ae\", \"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [], \"f1ba\", \"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [640, 512, [], \"f62e\", \"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [640, 512, [], \"f62f\", \"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTenge = {\n prefix: 'fas',\n iconName: 'tenge',\n icon: [384, 512, [], \"f7d7\", \"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"]\n};\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [640, 512, [], \"f120\", \"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"]\n};\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"]\n};\nvar faTh = {\n prefix: 'fas',\n iconName: 'th',\n icon: [512, 512, [], \"f00a\", \"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"]\n};\nvar faThLarge = {\n prefix: 'fas',\n iconName: 'th-large',\n icon: [512, 512, [], \"f009\", \"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"]\n};\nvar faThList = {\n prefix: 'fas',\n iconName: 'th-list',\n icon: [512, 512, [], \"f00b\", \"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"]\n};\nvar faTheaterMasks = {\n prefix: 'fas',\n iconName: 'theater-masks',\n icon: [640, 512, [], \"f630\", \"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"]\n};\nvar faThermometerEmpty = {\n prefix: 'fas',\n iconName: 'thermometer-empty',\n icon: [256, 512, [], \"f2cb\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerFull = {\n prefix: 'fas',\n iconName: 'thermometer-full',\n icon: [256, 512, [], \"f2c7\", \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"]\n};\nvar faThermometerHalf = {\n prefix: 'fas',\n iconName: 'thermometer-half',\n icon: [256, 512, [], \"f2c9\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerQuarter = {\n prefix: 'fas',\n iconName: 'thermometer-quarter',\n icon: [256, 512, [], \"f2ca\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerThreeQuarters = {\n prefix: 'fas',\n iconName: 'thermometer-three-quarters',\n icon: [256, 512, [], \"f2c8\", \"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"]\n};\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"]\n};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [], \"f08d\", \"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"]\n};\nvar faTicketAlt = {\n prefix: 'fas',\n iconName: 'ticket-alt',\n icon: [576, 512, [], \"f3ff\", \"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"]\n};\nvar faTimes = {\n prefix: 'fas',\n iconName: 'times',\n icon: [352, 512, [], \"f00d\", \"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"]\n};\nvar faTimesCircle = {\n prefix: 'fas',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"]\n};\nvar faTint = {\n prefix: 'fas',\n iconName: 'tint',\n icon: [352, 512, [], \"f043\", \"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faTintSlash = {\n prefix: 'fas',\n iconName: 'tint-slash',\n icon: [640, 512, [], \"f5c7\", \"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"]\n};\nvar faTired = {\n prefix: 'fas',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"]\n};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"]\n};\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [384, 512, [], \"f7d8\", \"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [576, 512, [], \"f71e\", \"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [], \"f552\", \"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"]\n};\nvar faTools = {\n prefix: 'fas',\n iconName: 'tools',\n icon: [512, 512, [], \"f7d9\", \"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"]\n};\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [], \"f5c9\", \"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"]\n};\nvar faTorah = {\n prefix: 'fas',\n iconName: 'torah',\n icon: [640, 512, [], \"f6a0\", \"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"]\n};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [], \"f6a1\", \"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"]\n};\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [], \"f722\", \"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [], \"f25c\", \"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [384, 512, [], \"f637\", \"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [], \"f238\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"]\n};\nvar faTram = {\n prefix: 'fas',\n iconName: 'tram',\n icon: [512, 512, [], \"f7da\", \"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [384, 512, [], \"f224\", \"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTransgenderAlt = {\n prefix: 'fas',\n iconName: 'transgender-alt',\n icon: [480, 512, [], \"f225\", \"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"]\n};\nvar faTrashAlt = {\n prefix: 'fas',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestore = {\n prefix: 'fas',\n iconName: 'trash-restore',\n icon: [448, 512, [], \"f829\", \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestoreAlt = {\n prefix: 'fas',\n iconName: 'trash-restore-alt',\n icon: [448, 512, [], \"f82a\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [384, 512, [], \"f1bb\", \"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [], \"f091\", \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [], \"f0d1\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faTruckLoading = {\n prefix: 'fas',\n iconName: 'truck-loading',\n icon: [640, 512, [], \"f4de\", \"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"]\n};\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [], \"f63c\", \"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faTshirt = {\n prefix: 'fas',\n iconName: 'tshirt',\n icon: [640, 512, [], \"f553\", \"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [], \"f1e4\", \"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [], \"f26c\", \"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [640, 512, [], \"f5ca\", \"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"]\n};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faUndo = {\n prefix: 'fas',\n iconName: 'undo',\n icon: [512, 512, [], \"f0e2\", \"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"]\n};\nvar faUndoAlt = {\n prefix: 'fas',\n iconName: 'undo-alt',\n icon: [512, 512, [], \"f2ea\", \"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"]\n};\nvar faUniversity = {\n prefix: 'fas',\n iconName: 'university',\n icon: [512, 512, [], \"f19c\", \"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"]\n};\nvar faUnlink = {\n prefix: 'fas',\n iconName: 'unlink',\n icon: [512, 512, [], \"f127\", \"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [], \"f09c\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faUnlockAlt = {\n prefix: 'fas',\n iconName: 'unlock-alt',\n icon: [448, 512, [], \"f13e\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserAlt = {\n prefix: 'fas',\n iconName: 'user-alt',\n icon: [512, 512, [], \"f406\", \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"]\n};\nvar faUserAltSlash = {\n prefix: 'fas',\n iconName: 'user-alt-slash',\n icon: [640, 512, [], \"f4fa\", \"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"]\n};\nvar faUserCircle = {\n prefix: 'fas',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"]\n};\nvar faUserCog = {\n prefix: 'fas',\n iconName: 'user-cog',\n icon: [640, 512, [], \"f4fe\", \"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"]\n};\nvar faUserEdit = {\n prefix: 'fas',\n iconName: 'user-edit',\n icon: [640, 512, [], \"f4ff\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"]\n};\nvar faUserFriends = {\n prefix: 'fas',\n iconName: 'user-friends',\n icon: [640, 512, [], \"f500\", \"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"]\n};\nvar faUserMd = {\n prefix: 'fas',\n iconName: 'user-md',\n icon: [448, 512, [], \"f0f0\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [], \"f504\", \"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [], \"f21b\", \"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"]\n};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"]\n};\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"]\n};\nvar faUserTimes = {\n prefix: 'fas',\n iconName: 'user-times',\n icon: [640, 512, [], \"f235\", \"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersCog = {\n prefix: 'fas',\n iconName: 'users-cog',\n icon: [640, 512, [], \"f509\", \"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"]\n};\nvar faUtensilSpoon = {\n prefix: 'fas',\n iconName: 'utensil-spoon',\n icon: [512, 512, [], \"f2e5\", \"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"]\n};\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [416, 512, [], \"f2e7\", \"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"]\n};\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [512, 512, [], \"f5cb\", \"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"]\n};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [288, 512, [], \"f221\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [512, 512, [], \"f226\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [576, 512, [], \"f228\", \"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [480, 512, [], \"f492\", \"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"]\n};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [640, 512, [], \"f493\", \"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [], \"f03d\", \"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"]\n};\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"]\n};\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"]\n};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faVolleyballBall = {\n prefix: 'fas',\n iconName: 'volleyball-ball',\n icon: [512, 512, [], \"f45f\", \"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"]\n};\nvar faVolumeDown = {\n prefix: 'fas',\n iconName: 'volume-down',\n icon: [384, 512, [], \"f027\", \"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"]\n};\nvar faVolumeMute = {\n prefix: 'fas',\n iconName: 'volume-mute',\n icon: [512, 512, [], \"f6a9\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [256, 512, [], \"f026\", \"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"]\n};\nvar faVolumeUp = {\n prefix: 'fas',\n iconName: 'volume-up',\n icon: [576, 512, [], \"f028\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"]\n};\nvar faVoteYea = {\n prefix: 'fas',\n iconName: 'vote-yea',\n icon: [640, 512, [], \"f772\", \"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"]\n};\nvar faWalking = {\n prefix: 'fas',\n iconName: 'walking',\n icon: [320, 512, [], \"f554\", \"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"]\n};\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"]\n};\nvar faWeight = {\n prefix: 'fas',\n iconName: 'weight',\n icon: [512, 512, [], \"f496\", \"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"]\n};\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [], \"f1eb\", \"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"]\n};\nvar faWindowClose = {\n prefix: 'fas',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"]\n};\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"]\n};\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [288, 512, [], \"f4e3\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"]\n};\nvar faWineGlassAlt = {\n prefix: 'fas',\n iconName: 'wine-glass-alt',\n icon: [288, 512, [], \"f5ce\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [576, 512, [], \"f159\", \"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [], \"f0ad\", \"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [640, 512, [], \"f497\", \"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [384, 512, [], \"f157\", \"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [496, 512, [], \"f6ad\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar _iconsCache = {\n faAd: faAd,\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAirFreshener: faAirFreshener,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAnchor: faAnchor,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faAngry: faAngry,\n faAnkh: faAnkh,\n faAppleAlt: faAppleAlt,\n faArchive: faArchive,\n faArchway: faArchway,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowUp: faArrowUp,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAtlas: faAtlas,\n faAtom: faAtom,\n faAudioDescription: faAudioDescription,\n faAward: faAward,\n faBaby: faBaby,\n faBabyCarriage: faBabyCarriage,\n faBackspace: faBackspace,\n faBackward: faBackward,\n faBacon: faBacon,\n faBacteria: faBacteria,\n faBacterium: faBacterium,\n faBahai: faBahai,\n faBalanceScale: faBalanceScale,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faBalanceScaleRight: faBalanceScaleRight,\n faBan: faBan,\n faBandAid: faBandAid,\n faBarcode: faBarcode,\n faBars: faBars,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBath: faBath,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBeer: faBeer,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBezierCurve: faBezierCurve,\n faBible: faBible,\n faBicycle: faBicycle,\n faBiking: faBiking,\n faBinoculars: faBinoculars,\n faBiohazard: faBiohazard,\n faBirthdayCake: faBirthdayCake,\n faBlender: faBlender,\n faBlenderPhone: faBlenderPhone,\n faBlind: faBlind,\n faBlog: faBlog,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBone: faBone,\n faBong: faBong,\n faBook: faBook,\n faBookDead: faBookDead,\n faBookMedical: faBookMedical,\n faBookOpen: faBookOpen,\n faBookReader: faBookReader,\n faBookmark: faBookmark,\n faBorderAll: faBorderAll,\n faBorderNone: faBorderNone,\n faBorderStyle: faBorderStyle,\n faBowlingBall: faBowlingBall,\n faBox: faBox,\n faBoxOpen: faBoxOpen,\n faBoxTissue: faBoxTissue,\n faBoxes: faBoxes,\n faBraille: faBraille,\n faBrain: faBrain,\n faBreadSlice: faBreadSlice,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBroadcastTower: faBroadcastTower,\n faBroom: faBroom,\n faBrush: faBrush,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBurn: faBurn,\n faBus: faBus,\n faBusAlt: faBusAlt,\n faBusinessTime: faBusinessTime,\n faCalculator: faCalculator,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarDay: faCalendarDay,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCalendarWeek: faCalendarWeek,\n faCamera: faCamera,\n faCameraRetro: faCameraRetro,\n faCampground: faCampground,\n faCandyCane: faCandyCane,\n faCannabis: faCannabis,\n faCapsules: faCapsules,\n faCar: faCar,\n faCarAlt: faCarAlt,\n faCarBattery: faCarBattery,\n faCarCrash: faCarCrash,\n faCarSide: faCarSide,\n faCaravan: faCaravan,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCarrot: faCarrot,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCashRegister: faCashRegister,\n faCat: faCat,\n faCertificate: faCertificate,\n faChair: faChair,\n faChalkboard: faChalkboard,\n faChalkboardTeacher: faChalkboardTeacher,\n faChargingStation: faChargingStation,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartPie: faChartPie,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckDouble: faCheckDouble,\n faCheckSquare: faCheckSquare,\n faCheese: faCheese,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBoard: faChessBoard,\n faChessKing: faChessKing,\n faChessKnight: faChessKnight,\n faChessPawn: faChessPawn,\n faChessQueen: faChessQueen,\n faChessRook: faChessRook,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faChurch: faChurch,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faCity: faCity,\n faClinicMedical: faClinicMedical,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudMeatball: faCloudMeatball,\n faCloudMoon: faCloudMoon,\n faCloudMoonRain: faCloudMoonRain,\n faCloudRain: faCloudRain,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faCloudSun: faCloudSun,\n faCloudSunRain: faCloudSunRain,\n faCloudUploadAlt: faCloudUploadAlt,\n faCocktail: faCocktail,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCoffee: faCoffee,\n faCog: faCog,\n faCogs: faCogs,\n faCoins: faCoins,\n faColumns: faColumns,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDollar: faCommentDollar,\n faCommentDots: faCommentDots,\n faCommentMedical: faCommentMedical,\n faCommentSlash: faCommentSlash,\n faComments: faComments,\n faCommentsDollar: faCommentsDollar,\n faCompactDisc: faCompactDisc,\n faCompass: faCompass,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faConciergeBell: faConciergeBell,\n faCookie: faCookie,\n faCookieBite: faCookieBite,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCouch: faCouch,\n faCreditCard: faCreditCard,\n faCrop: faCrop,\n faCropAlt: faCropAlt,\n faCross: faCross,\n faCrosshairs: faCrosshairs,\n faCrow: faCrow,\n faCrown: faCrown,\n faCrutch: faCrutch,\n faCube: faCube,\n faCubes: faCubes,\n faCut: faCut,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDemocrat: faDemocrat,\n faDesktop: faDesktop,\n faDharmachakra: faDharmachakra,\n faDiagnoses: faDiagnoses,\n faDice: faDice,\n faDiceD20: faDiceD20,\n faDiceD6: faDiceD6,\n faDiceFive: faDiceFive,\n faDiceFour: faDiceFour,\n faDiceOne: faDiceOne,\n faDiceSix: faDiceSix,\n faDiceThree: faDiceThree,\n faDiceTwo: faDiceTwo,\n faDigitalTachograph: faDigitalTachograph,\n faDirections: faDirections,\n faDisease: faDisease,\n faDivide: faDivide,\n faDizzy: faDizzy,\n faDna: faDna,\n faDog: faDog,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyFlatbed: faDollyFlatbed,\n faDonate: faDonate,\n faDoorClosed: faDoorClosed,\n faDoorOpen: faDoorOpen,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDraftingCompass: faDraftingCompass,\n faDragon: faDragon,\n faDrawPolygon: faDrawPolygon,\n faDrum: faDrum,\n faDrumSteelpan: faDrumSteelpan,\n faDrumstickBite: faDrumstickBite,\n faDumbbell: faDumbbell,\n faDumpster: faDumpster,\n faDumpsterFire: faDumpsterFire,\n faDungeon: faDungeon,\n faEdit: faEdit,\n faEgg: faEgg,\n faEject: faEject,\n faEllipsisH: faEllipsisH,\n faEllipsisV: faEllipsisV,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faEnvelopeSquare: faEnvelopeSquare,\n faEquals: faEquals,\n faEraser: faEraser,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeSlash: faEyeSlash,\n faFan: faFan,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFaucet: faFaucet,\n faFax: faFax,\n faFeather: faFeather,\n faFeatherAlt: faFeatherAlt,\n faFemale: faFemale,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileContract: faFileContract,\n faFileCsv: faFileCsv,\n faFileDownload: faFileDownload,\n faFileExcel: faFileExcel,\n faFileExport: faFileExport,\n faFileImage: faFileImage,\n faFileImport: faFileImport,\n faFileInvoice: faFileInvoice,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFilePrescription: faFilePrescription,\n faFileSignature: faFileSignature,\n faFileUpload: faFileUpload,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFill: faFill,\n faFillDrip: faFillDrip,\n faFilm: faFilm,\n faFilter: faFilter,\n faFingerprint: faFingerprint,\n faFire: faFire,\n faFireAlt: faFireAlt,\n faFireExtinguisher: faFireExtinguisher,\n faFirstAid: faFirstAid,\n faFish: faFish,\n faFistRaised: faFistRaised,\n faFlag: faFlag,\n faFlagCheckered: faFlagCheckered,\n faFlagUsa: faFlagUsa,\n faFlask: faFlask,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderMinus: faFolderMinus,\n faFolderOpen: faFolderOpen,\n faFolderPlus: faFolderPlus,\n faFont: faFont,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFootballBall: faFootballBall,\n faForward: faForward,\n faFrog: faFrog,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFunnelDollar: faFunnelDollar,\n faFutbol: faFutbol,\n faGamepad: faGamepad,\n faGasPump: faGasPump,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGhost: faGhost,\n faGift: faGift,\n faGifts: faGifts,\n faGlassCheers: faGlassCheers,\n faGlassMartini: faGlassMartini,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faGlassWhiskey: faGlassWhiskey,\n faGlasses: faGlasses,\n faGlobe: faGlobe,\n faGlobeAfrica: faGlobeAfrica,\n faGlobeAmericas: faGlobeAmericas,\n faGlobeAsia: faGlobeAsia,\n faGlobeEurope: faGlobeEurope,\n faGolfBall: faGolfBall,\n faGopuram: faGopuram,\n faGraduationCap: faGraduationCap,\n faGreaterThan: faGreaterThan,\n faGreaterThanEqual: faGreaterThanEqual,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faGripHorizontal: faGripHorizontal,\n faGripLines: faGripLines,\n faGripLinesVertical: faGripLinesVertical,\n faGripVertical: faGripVertical,\n faGuitar: faGuitar,\n faHSquare: faHSquare,\n faHamburger: faHamburger,\n faHammer: faHammer,\n faHamsa: faHamsa,\n faHandHolding: faHandHolding,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingMedical: faHandHoldingMedical,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandMiddleFinger: faHandMiddleFinger,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSparkles: faHandSparkles,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHelping: faHandsHelping,\n faHandsWash: faHandsWash,\n faHandshake: faHandshake,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faHandshakeSlash: faHandshakeSlash,\n faHanukiah: faHanukiah,\n faHardHat: faHardHat,\n faHashtag: faHashtag,\n faHatCowboy: faHatCowboy,\n faHatCowboySide: faHatCowboySide,\n faHatWizard: faHatWizard,\n faHdd: faHdd,\n faHeadSideCough: faHeadSideCough,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faHeadSideMask: faHeadSideMask,\n faHeadSideVirus: faHeadSideVirus,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeadphonesAlt: faHeadphonesAlt,\n faHeadset: faHeadset,\n faHeart: faHeart,\n faHeartBroken: faHeartBroken,\n faHeartbeat: faHeartbeat,\n faHelicopter: faHelicopter,\n faHighlighter: faHighlighter,\n faHiking: faHiking,\n faHippo: faHippo,\n faHistory: faHistory,\n faHockeyPuck: faHockeyPuck,\n faHollyBerry: faHollyBerry,\n faHome: faHome,\n faHorse: faHorse,\n faHorseHead: faHorseHead,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHospitalUser: faHospitalUser,\n faHotTub: faHotTub,\n faHotdog: faHotdog,\n faHotel: faHotel,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faHouseDamage: faHouseDamage,\n faHouseUser: faHouseUser,\n faHryvnia: faHryvnia,\n faICursor: faICursor,\n faIceCream: faIceCream,\n faIcicles: faIcicles,\n faIcons: faIcons,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faIgloo: faIgloo,\n faImage: faImage,\n faImages: faImages,\n faInbox: faInbox,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faInfinity: faInfinity,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faItalic: faItalic,\n faJedi: faJedi,\n faJoint: faJoint,\n faJournalWhills: faJournalWhills,\n faKaaba: faKaaba,\n faKey: faKey,\n faKeyboard: faKeyboard,\n faKhanda: faKhanda,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faKiwiBird: faKiwiBird,\n faLandmark: faLandmark,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLaptopCode: faLaptopCode,\n faLaptopHouse: faLaptopHouse,\n faLaptopMedical: faLaptopMedical,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLayerGroup: faLayerGroup,\n faLeaf: faLeaf,\n faLemon: faLemon,\n faLessThan: faLessThan,\n faLessThanEqual: faLessThanEqual,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faLink: faLink,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocationArrow: faLocationArrow,\n faLock: faLock,\n faLockOpen: faLockOpen,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLowVision: faLowVision,\n faLuggageCart: faLuggageCart,\n faLungs: faLungs,\n faLungsVirus: faLungsVirus,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMailBulk: faMailBulk,\n faMale: faMale,\n faMap: faMap,\n faMapMarked: faMapMarked,\n faMapMarkedAlt: faMapMarkedAlt,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMarker: faMarker,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMask: faMask,\n faMedal: faMedal,\n faMedkit: faMedkit,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMemory: faMemory,\n faMenorah: faMenorah,\n faMercury: faMercury,\n faMeteor: faMeteor,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faMicrophoneSlash: faMicrophoneSlash,\n faMicroscope: faMicroscope,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusSquare: faMinusSquare,\n faMitten: faMitten,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoneyBillWave: faMoneyBillWave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faMoneyCheck: faMoneyCheck,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faMonument: faMonument,\n faMoon: faMoon,\n faMortarPestle: faMortarPestle,\n faMosque: faMosque,\n faMotorcycle: faMotorcycle,\n faMountain: faMountain,\n faMouse: faMouse,\n faMousePointer: faMousePointer,\n faMugHot: faMugHot,\n faMusic: faMusic,\n faNetworkWired: faNetworkWired,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotEqual: faNotEqual,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOilCan: faOilCan,\n faOm: faOm,\n faOtter: faOtter,\n faOutdent: faOutdent,\n faPager: faPager,\n faPaintBrush: faPaintBrush,\n faPaintRoller: faPaintRoller,\n faPalette: faPalette,\n faPallet: faPallet,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faParking: faParking,\n faPassport: faPassport,\n faPastafarianism: faPastafarianism,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPeace: faPeace,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenFancy: faPenFancy,\n faPenNib: faPenNib,\n faPenSquare: faPenSquare,\n faPencilAlt: faPencilAlt,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleCarry: faPeopleCarry,\n faPepperHot: faPepperHot,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faPersonBooth: faPersonBooth,\n faPhone: faPhone,\n faPhoneAlt: faPhoneAlt,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faPhoneVolume: faPhoneVolume,\n faPhotoVideo: faPhotoVideo,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPizzaSlice: faPizzaSlice,\n faPlaceOfWorship: faPlaceOfWorship,\n faPlane: faPlane,\n faPlaneArrival: faPlaneArrival,\n faPlaneDeparture: faPlaneDeparture,\n faPlaneSlash: faPlaneSlash,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPoll: faPoll,\n faPollH: faPollH,\n faPoo: faPoo,\n faPooStorm: faPooStorm,\n faPoop: faPoop,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPray: faPray,\n faPrayingHands: faPrayingHands,\n faPrescription: faPrescription,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPrint: faPrint,\n faProcedures: faProcedures,\n faProjectDiagram: faProjectDiagram,\n faPumpMedical: faPumpMedical,\n faPumpSoap: faPumpSoap,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faQuran: faQuran,\n faRadiation: faRadiation,\n faRadiationAlt: faRadiationAlt,\n faRainbow: faRainbow,\n faRandom: faRandom,\n faReceipt: faReceipt,\n faRecordVinyl: faRecordVinyl,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRegistered: faRegistered,\n faRemoveFormat: faRemoveFormat,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRepublican: faRepublican,\n faRestroom: faRestroom,\n faRetweet: faRetweet,\n faRibbon: faRibbon,\n faRing: faRing,\n faRoad: faRoad,\n faRobot: faRobot,\n faRocket: faRocket,\n faRoute: faRoute,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRuler: faRuler,\n faRulerCombined: faRulerCombined,\n faRulerHorizontal: faRulerHorizontal,\n faRulerVertical: faRulerVertical,\n faRunning: faRunning,\n faRupeeSign: faRupeeSign,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSatellite: faSatellite,\n faSatelliteDish: faSatelliteDish,\n faSave: faSave,\n faSchool: faSchool,\n faScrewdriver: faScrewdriver,\n faScroll: faScroll,\n faSdCard: faSdCard,\n faSearch: faSearch,\n faSearchDollar: faSearchDollar,\n faSearchLocation: faSearchLocation,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faServer: faServer,\n faShapes: faShapes,\n faShare: faShare,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faShekelSign: faShekelSign,\n faShieldAlt: faShieldAlt,\n faShieldVirus: faShieldVirus,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShoePrints: faShoePrints,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShower: faShower,\n faShuttleVan: faShuttleVan,\n faSign: faSign,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSignature: faSignature,\n faSimCard: faSimCard,\n faSink: faSink,\n faSitemap: faSitemap,\n faSkating: faSkating,\n faSkiing: faSkiing,\n faSkiingNordic: faSkiingNordic,\n faSkull: faSkull,\n faSkullCrossbones: faSkullCrossbones,\n faSlash: faSlash,\n faSleigh: faSleigh,\n faSlidersH: faSlidersH,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSmog: faSmog,\n faSmoking: faSmoking,\n faSmokingBan: faSmokingBan,\n faSms: faSms,\n faSnowboarding: faSnowboarding,\n faSnowflake: faSnowflake,\n faSnowman: faSnowman,\n faSnowplow: faSnowplow,\n faSoap: faSoap,\n faSocks: faSocks,\n faSolarPanel: faSolarPanel,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faSortAlphaUp: faSortAlphaUp,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faSortAmountDown: faSortAmountDown,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faSortAmountUp: faSortAmountUp,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faSortNumericUp: faSortNumericUp,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faSortUp: faSortUp,\n faSpa: faSpa,\n faSpaceShuttle: faSpaceShuttle,\n faSpellCheck: faSpellCheck,\n faSpider: faSpider,\n faSpinner: faSpinner,\n faSplotch: faSplotch,\n faSprayCan: faSprayCan,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faSquareRootAlt: faSquareRootAlt,\n faStamp: faStamp,\n faStar: faStar,\n faStarAndCrescent: faStarAndCrescent,\n faStarHalf: faStarHalf,\n faStarHalfAlt: faStarHalfAlt,\n faStarOfDavid: faStarOfDavid,\n faStarOfLife: faStarOfLife,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStopwatch20: faStopwatch20,\n faStore: faStore,\n faStoreAlt: faStoreAlt,\n faStoreAltSlash: faStoreAltSlash,\n faStoreSlash: faStoreSlash,\n faStream: faStream,\n faStreetView: faStreetView,\n faStrikethrough: faStrikethrough,\n faStroopwafel: faStroopwafel,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSuitcaseRolling: faSuitcaseRolling,\n faSun: faSun,\n faSuperscript: faSuperscript,\n faSurprise: faSurprise,\n faSwatchbook: faSwatchbook,\n faSwimmer: faSwimmer,\n faSwimmingPool: faSwimmingPool,\n faSynagogue: faSynagogue,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTablets: faTablets,\n faTachometerAlt: faTachometerAlt,\n faTag: faTag,\n faTags: faTags,\n faTape: faTape,\n faTasks: faTasks,\n faTaxi: faTaxi,\n faTeeth: faTeeth,\n faTeethOpen: faTeethOpen,\n faTemperatureHigh: faTemperatureHigh,\n faTemperatureLow: faTemperatureLow,\n faTenge: faTenge,\n faTerminal: faTerminal,\n faTextHeight: faTextHeight,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faTheaterMasks: faTheaterMasks,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faTicketAlt: faTicketAlt,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTint: faTint,\n faTintSlash: faTintSlash,\n faTired: faTired,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faToilet: faToilet,\n faToiletPaper: faToiletPaper,\n faToiletPaperSlash: faToiletPaperSlash,\n faToolbox: faToolbox,\n faTools: faTools,\n faTooth: faTooth,\n faTorah: faTorah,\n faToriiGate: faToriiGate,\n faTractor: faTractor,\n faTrademark: faTrademark,\n faTrafficLight: faTrafficLight,\n faTrailer: faTrailer,\n faTrain: faTrain,\n faTram: faTram,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTrashRestore: faTrashRestore,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faTree: faTree,\n faTrophy: faTrophy,\n faTruck: faTruck,\n faTruckLoading: faTruckLoading,\n faTruckMonster: faTruckMonster,\n faTruckMoving: faTruckMoving,\n faTruckPickup: faTruckPickup,\n faTshirt: faTshirt,\n faTty: faTty,\n faTv: faTv,\n faUmbrella: faUmbrella,\n faUmbrellaBeach: faUmbrellaBeach,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUser: faUser,\n faUserAlt: faUserAlt,\n faUserAltSlash: faUserAltSlash,\n faUserAstronaut: faUserAstronaut,\n faUserCheck: faUserCheck,\n faUserCircle: faUserCircle,\n faUserClock: faUserClock,\n faUserCog: faUserCog,\n faUserEdit: faUserEdit,\n faUserFriends: faUserFriends,\n faUserGraduate: faUserGraduate,\n faUserInjured: faUserInjured,\n faUserLock: faUserLock,\n faUserMd: faUserMd,\n faUserMinus: faUserMinus,\n faUserNinja: faUserNinja,\n faUserNurse: faUserNurse,\n faUserPlus: faUserPlus,\n faUserSecret: faUserSecret,\n faUserShield: faUserShield,\n faUserSlash: faUserSlash,\n faUserTag: faUserTag,\n faUserTie: faUserTie,\n faUserTimes: faUserTimes,\n faUsers: faUsers,\n faUsersCog: faUsersCog,\n faUsersSlash: faUsersSlash,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faVectorSquare: faVectorSquare,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVest: faVest,\n faVestPatches: faVestPatches,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoSlash: faVideoSlash,\n faVihara: faVihara,\n faVirus: faVirus,\n faVirusSlash: faVirusSlash,\n faViruses: faViruses,\n faVoicemail: faVoicemail,\n faVolleyballBall: faVolleyballBall,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeUp: faVolumeUp,\n faVoteYea: faVoteYea,\n faVrCardboard: faVrCardboard,\n faWalking: faWalking,\n faWallet: faWallet,\n faWarehouse: faWarehouse,\n faWater: faWater,\n faWaveSquare: faWaveSquare,\n faWeight: faWeight,\n faWeightHanging: faWeightHanging,\n faWheelchair: faWheelchair,\n faWifi: faWifi,\n faWind: faWind,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWineBottle: faWineBottle,\n faWineGlass: faWineGlass,\n faWineGlassAlt: faWineGlassAlt,\n faWonSign: faWonSign,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign,\n faYinYang: faYinYang\n};\n\nexport { _iconsCache as fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang };\n","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationRule = exports.StringLengthRule = exports.RequiredRule = exports.RangeRule = exports.PatternRule = exports.NumericRule = exports.EmailRule = exports.CustomRule = exports.CompareRule = exports.AsyncRule = exports.Adapter = exports.Validator = void 0;\nvar validator_1 = require(\"devextreme/ui/validator\");\nvar PropTypes = require(\"prop-types\");\nvar extension_component_1 = require(\"./core/extension-component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Validator = /** @class */ (function (_super) {\n __extends(Validator, _super);\n function Validator() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = validator_1.default;\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onValidated\"];\n _this._expectedChildren = {\n adapter: { optionName: \"adapter\", isCollectionItem: false },\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Validator.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Validator;\n}(extension_component_1.ExtensionComponent));\nexports.Validator = Validator;\nValidator.propTypes = {\n adapter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValidated: PropTypes.func,\n validationGroup: PropTypes.string,\n validationRules: PropTypes.array,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Adapter = /** @class */ (function (_super) {\n __extends(Adapter, _super);\n function Adapter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Adapter.OptionName = \"adapter\";\n return Adapter;\n}(nested_option_1.default));\nexports.Adapter = Adapter;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = Validator;\n","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar element_1 = require(\"./configuration/react/element\");\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n var stateChildren = this.props.children;\n var children = React.Children.map(stateChildren, function (child) {\n var childElementInfo = element_1.getElementInfo(child);\n return childElementInfo.type === element_1.ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexports.default = NestedOption;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar CharacterMetadata = require(\"./CharacterMetadata\");\n\nvar findRangesImmutable = require(\"./findRangesImmutable\");\n\nvar Immutable = require(\"immutable\");\n\nvar List = Immutable.List,\n Map = Immutable.Map,\n OrderedSet = Immutable.OrderedSet,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat;\nvar EMPTY_SET = OrderedSet();\nvar defaultRecord = {\n key: '',\n type: 'unstyled',\n text: '',\n characterList: List(),\n depth: 0,\n data: Map()\n};\nvar ContentBlockRecord = Record(defaultRecord);\n\nvar decorateCharacterList = function decorateCharacterList(config) {\n if (!config) {\n return config;\n }\n\n var characterList = config.characterList,\n text = config.text;\n\n if (text && !characterList) {\n config.characterList = List(Repeat(CharacterMetadata.EMPTY, text.length));\n }\n\n return config;\n};\n\nvar ContentBlock = /*#__PURE__*/function (_ContentBlockRecord) {\n _inheritsLoose(ContentBlock, _ContentBlockRecord);\n\n function ContentBlock(config) {\n return _ContentBlockRecord.call(this, decorateCharacterList(config)) || this;\n }\n\n var _proto = ContentBlock.prototype;\n\n _proto.getKey = function getKey() {\n return this.get('key');\n };\n\n _proto.getType = function getType() {\n return this.get('type');\n };\n\n _proto.getText = function getText() {\n return this.get('text');\n };\n\n _proto.getCharacterList = function getCharacterList() {\n return this.get('characterList');\n };\n\n _proto.getLength = function getLength() {\n return this.getText().length;\n };\n\n _proto.getDepth = function getDepth() {\n return this.get('depth');\n };\n\n _proto.getData = function getData() {\n return this.get('data');\n };\n\n _proto.getInlineStyleAt = function getInlineStyleAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getStyle() : EMPTY_SET;\n };\n\n _proto.getEntityAt = function getEntityAt(offset) {\n var character = this.getCharacterList().get(offset);\n return character ? character.getEntity() : null;\n }\n /**\n * Execute a callback for every contiguous range of styles within the block.\n */\n ;\n\n _proto.findStyleRanges = function findStyleRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualStyle, filterFn, callback);\n }\n /**\n * Execute a callback for every contiguous range of entities within the block.\n */\n ;\n\n _proto.findEntityRanges = function findEntityRanges(filterFn, callback) {\n findRangesImmutable(this.getCharacterList(), haveEqualEntity, filterFn, callback);\n };\n\n return ContentBlock;\n}(ContentBlockRecord);\n\nfunction haveEqualStyle(charA, charB) {\n return charA.getStyle() === charB.getStyle();\n}\n\nfunction haveEqualEntity(charA, charB) {\n return charA.getEntity() === charB.getEntity();\n}\n\nmodule.exports = ContentBlock;","\"use strict\";\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\n/**\n * This function is used to mark string literals representing CSS class names\n * so that they can be transformed statically. This allows for modularization\n * and minification of CSS class names.\n *\n * In static_upstream, this function is actually implemented, but it should\n * eventually be replaced with something more descriptive, and the transform\n * that is used in the main stack should be ported for use elsewhere.\n *\n * @param string|object className to modularize, or an object of key/values.\n * In the object case, the values are conditions that\n * determine if the className keys should be included.\n * @param [string ...] Variable list of classNames in the string case.\n * @return string Renderable space-separated CSS className.\n */\nfunction cx(classNames) {\n if (typeof classNames == 'object') {\n return Object.keys(classNames).filter(function (className) {\n return classNames[className];\n }).map(replace).join(' ');\n }\n\n return Array.prototype.map.call(arguments, replace).join(' ');\n}\n\nfunction replace(str) {\n return str.replace(/\\//g, '-');\n}\n\nmodule.exports = cx;","\"use strict\";\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\nfunction isElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n return node.nodeType === Node.ELEMENT_NODE;\n}\n\nmodule.exports = isElement;","/**\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 * Unicode-enabled replacesments for basic String functions.\n *\n * All the functions in this module assume that the input string is a valid\n * UTF-16 encoding of a Unicode sequence. If it's not the case, the behavior\n * will be undefined.\n *\n * WARNING: Since this module is typechecks-enforced, you may find new bugs\n * when replacing normal String functions with ones provided here.\n */\n'use strict';\n\nvar invariant = require(\"./invariant\"); // These two ranges are consecutive so anything in [HIGH_START, LOW_END] is a\n// surrogate code unit.\n\n\nvar SURROGATE_HIGH_START = 0xD800;\nvar SURROGATE_HIGH_END = 0xDBFF;\nvar SURROGATE_LOW_START = 0xDC00;\nvar SURROGATE_LOW_END = 0xDFFF;\nvar SURROGATE_UNITS_REGEX = /[\\uD800-\\uDFFF]/;\n/**\n * @param {number} codeUnit A Unicode code-unit, in range [0, 0x10FFFF]\n * @return {boolean} Whether code-unit is in a surrogate (hi/low) range\n */\n\nfunction isCodeUnitInSurrogateRange(codeUnit) {\n return SURROGATE_HIGH_START <= codeUnit && codeUnit <= SURROGATE_LOW_END;\n}\n/**\n * Returns whether the two characters starting at `index` form a surrogate pair.\n * For example, given the string s = \"\\uD83D\\uDE0A\", (s, 0) returns true and\n * (s, 1) returns false.\n *\n * @param {string} str\n * @param {number} index\n * @return {boolean}\n */\n\n\nfunction isSurrogatePair(str, index) {\n !(0 <= index && index < str.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isSurrogatePair: Invalid index %s for string length %s.', index, str.length) : invariant(false) : void 0;\n\n if (index + 1 === str.length) {\n return false;\n }\n\n var first = str.charCodeAt(index);\n var second = str.charCodeAt(index + 1);\n return SURROGATE_HIGH_START <= first && first <= SURROGATE_HIGH_END && SURROGATE_LOW_START <= second && second <= SURROGATE_LOW_END;\n}\n/**\n * @param {string} str Non-empty string\n * @return {boolean} True if the input includes any surrogate code units\n */\n\n\nfunction hasSurrogateUnit(str) {\n return SURROGATE_UNITS_REGEX.test(str);\n}\n/**\n * Return the length of the original Unicode character at given position in the\n * String by looking into the UTF-16 code unit; that is equal to 1 for any\n * non-surrogate characters in BMP ([U+0000..U+D7FF] and [U+E000, U+FFFF]); and\n * returns 2 for the hi/low surrogates ([U+D800..U+DFFF]), which are in fact\n * representing non-BMP characters ([U+10000..U+10FFFF]).\n *\n * Examples:\n * - '\\u0020' => 1\n * - '\\u3020' => 1\n * - '\\uD835' => 2\n * - '\\uD835\\uDDEF' => 2\n * - '\\uDDEF' => 2\n *\n * @param {string} str Non-empty string\n * @param {number} pos Position in the string to look for one code unit\n * @return {number} Number 1 or 2\n */\n\n\nfunction getUTF16Length(str, pos) {\n return 1 + isCodeUnitInSurrogateRange(str.charCodeAt(pos));\n}\n/**\n * Fully Unicode-enabled replacement for String#length\n *\n * @param {string} str Valid Unicode string\n * @return {number} The number of Unicode characters in the string\n */\n\n\nfunction strlen(str) {\n // Call the native functions if there's no surrogate char\n if (!hasSurrogateUnit(str)) {\n return str.length;\n }\n\n var len = 0;\n\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n len++;\n }\n\n return len;\n}\n/**\n * Fully Unicode-enabled replacement for String#substr()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} length The number of Unicode characters to extract\n * (default: to the end of the string)\n * @return {string} Extracted sub-string\n */\n\n\nfunction substr(str, start, length) {\n start = start || 0;\n length = length === undefined ? Infinity : length || 0; // Call the native functions if there's no surrogate char\n\n if (!hasSurrogateUnit(str)) {\n return str.substr(start, length);\n } // Obvious cases\n\n\n var size = str.length;\n\n if (size <= 0 || start > size || length <= 0) {\n return '';\n } // Find the actual starting position\n\n\n var posA = 0;\n\n if (start > 0) {\n for (; start > 0 && posA < size; start--) {\n posA += getUTF16Length(str, posA);\n }\n\n if (posA >= size) {\n return '';\n }\n } else if (start < 0) {\n for (posA = size; start < 0 && 0 < posA; start++) {\n posA -= getUTF16Length(str, posA - 1);\n }\n\n if (posA < 0) {\n posA = 0;\n }\n } // Find the actual ending position\n\n\n var posB = size;\n\n if (length < size) {\n for (posB = posA; length > 0 && posB < size; length--) {\n posB += getUTF16Length(str, posB);\n }\n }\n\n return str.substring(posA, posB);\n}\n/**\n * Fully Unicode-enabled replacement for String#substring()\n *\n * @param {string} str Valid Unicode string\n * @param {number} start Location in Unicode sequence to begin extracting\n * @param {?number} end Location in Unicode sequence to end extracting\n * (default: end of the string)\n * @return {string} Extracted sub-string\n */\n\n\nfunction substring(str, start, end) {\n start = start || 0;\n end = end === undefined ? Infinity : end || 0;\n\n if (start < 0) {\n start = 0;\n }\n\n if (end < 0) {\n end = 0;\n }\n\n var length = Math.abs(end - start);\n start = start < end ? start : end;\n return substr(str, start, length);\n}\n/**\n * Get a list of Unicode code-points from a String\n *\n * @param {string} str Valid Unicode string\n * @return {array} A list of code-points in [0..0x10FFFF]\n */\n\n\nfunction getCodePoints(str) {\n var codePoints = [];\n\n for (var pos = 0; pos < str.length; pos += getUTF16Length(str, pos)) {\n codePoints.push(str.codePointAt(pos));\n }\n\n return codePoints;\n}\n\nvar UnicodeUtils = {\n getCodePoints: getCodePoints,\n getUTF16Length: getUTF16Length,\n hasSurrogateUnit: hasSurrogateUnit,\n isCodeUnitInSurrogateRange: isCodeUnitInSurrogateRange,\n isSurrogatePair: isSurrogatePair,\n strlen: strlen,\n substring: substring,\n substr: substr\n};\nmodule.exports = UnicodeUtils;","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\r\n * DevExtreme (esm/events/core/emitter.feedback.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport Emitter from \"./emitter\";\r\nimport registerEmitter from \"./emitter_registrator\";\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule((function() {\r\n that.force()\r\n }))\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, noop);\r\n this._inactive = new FeedbackEvent(0, noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this;\r\n var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = isMouseEvent(e);\r\n var isSimulator = devices.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n }));\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n }))\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexport var lock = FeedbackEmitter.lock;\r\nexport {\r\n ACTIVE_EVENT_NAME as active, INACTIVE_EVENT_NAME as inactive\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/text_box.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getNavigator,\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar navigator = getNavigator();\r\nimport browser from \"../../core/utils/browser\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditor from \"./ui.text_editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar ua = navigator.userAgent;\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = TextEditor.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderContentImpl: function() {\r\n this._renderMaxLengthHandlers();\r\n this.callBase()\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _renderMaxLengthHandlers: function() {\r\n if (this._isAndroidOrIE()) {\r\n eventsEngine.on(this._input(), addNamespace(\"keydown\", this.NAME), this._onKeyDownCutOffHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"change\", this.NAME), this._onChangeCutOffHandler.bind(this))\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = $(\"
\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n this._renderMaxLengthHandlers();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = $(e.target);\r\n var key = normalizeKeyName(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || -1 !== inArray(key, ignoreKeys) || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = $(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n },\r\n _isAndroidOrIE: function() {\r\n var realDevice = devices.real();\r\n var version = realDevice.version.join(\".\");\r\n return browser.msie || \"android\" === realDevice.platform && version && /^(2\\.|4\\.1)/.test(version) && !/chrome/i.test(ua)\r\n }\r\n});\r\nregisterComponent(\"dxTextBox\", TextBox);\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TextBox from \"./text_box/text_box\";\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/core/remove_event.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"./element_data\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerEvent from \"../events/core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport dataUtils from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n dataUtils.processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport dataUtils from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = dataUtils.normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = dataUtils.normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hold.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData,\r\n eventDelta\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nexport default {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nvar MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nvar DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nvar PERIODS = [\"AM\", \"PM\"];\r\nvar QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\nvar cutCaptions = (captions, format) => {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return map(captions, caption => caption.substr(0, lengthByFormat[format]))\r\n};\r\nexport default {\r\n getMonthNames: function(format) {\r\n return cutCaptions(MONTHS, format)\r\n },\r\n getDayNames: function(format) {\r\n return cutCaptions(DAYS, format)\r\n },\r\n getQuarterNames: function(format) {\r\n return QUARTERS\r\n },\r\n getPeriodNames: function(format) {\r\n return PERIODS\r\n }\r\n};\r\n","var Parser = require(\"./Parser.js\");\nvar DomHandler = require(\"domhandler\");\n\nfunction defineProp(name, value) {\n delete module.exports[name];\n module.exports[name] = value;\n return value;\n}\n\nmodule.exports = {\n Parser: Parser,\n Tokenizer: require(\"./Tokenizer.js\"),\n ElementType: require(\"domelementtype\"),\n DomHandler: DomHandler,\n get FeedHandler() {\n return defineProp(\"FeedHandler\", require(\"./FeedHandler.js\"));\n },\n get Stream() {\n return defineProp(\"Stream\", require(\"./Stream.js\"));\n },\n get WritableStream() {\n return defineProp(\"WritableStream\", require(\"./WritableStream.js\"));\n },\n get ProxyHandler() {\n return defineProp(\"ProxyHandler\", require(\"./ProxyHandler.js\"));\n },\n get DomUtils() {\n return defineProp(\"DomUtils\", require(\"domutils\"));\n },\n get CollectingHandler() {\n return defineProp(\n \"CollectingHandler\",\n require(\"./CollectingHandler.js\")\n );\n },\n // For legacy support\n DefaultHandler: DomHandler,\n get RssHandler() {\n return defineProp(\"RssHandler\", this.FeedHandler);\n },\n //helper methods\n parseDOM: function(data, options) {\n var handler = new DomHandler(options);\n new Parser(handler, options).end(data);\n return handler.dom;\n },\n parseFeed: function(feed, options) {\n var handler = new module.exports.FeedHandler(options);\n new Parser(handler, options).end(feed);\n return handler.dom;\n },\n createDomStream: function(cb, options, elementCb) {\n var handler = new DomHandler(cb, options, elementCb);\n return new Parser(handler, options);\n },\n // List of all events that the parser emits\n EVENTS: {\n /* Format: eventname: number of arguments */\n attribute: 2,\n cdatastart: 0,\n cdataend: 0,\n text: 1,\n processinginstruction: 2,\n comment: 1,\n commentend: 0,\n closetag: 1,\n opentag: 2,\n opentagname: 1,\n error: 1,\n end: 0\n }\n};\n","/**\r\n * DevExtreme (esm/core/polyfills/weak_map.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n inArray\r\n} from \"../utils/array\";\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../utils/window\";\r\nvar weakMap = hasWindow() ? getWindow().WeakMap : WeakMap;\r\nif (!weakMap) {\r\n weakMap = function() {\r\n var keys = [];\r\n var values = [];\r\n this.set = function(key, value) {\r\n var index = inArray(key, keys);\r\n if (-1 === index) {\r\n keys.push(key);\r\n values.push(value)\r\n } else {\r\n values[index] = value\r\n }\r\n };\r\n this.get = function(key) {\r\n var index = inArray(key, keys);\r\n if (-1 === index) {\r\n return\r\n }\r\n return values[index]\r\n };\r\n this.has = function(key) {\r\n var index = inArray(key, keys);\r\n if (-1 === index) {\r\n return false\r\n }\r\n return true\r\n };\r\n this.delete = function(key) {\r\n var index = inArray(key, keys);\r\n if (-1 === index) {\r\n return\r\n }\r\n keys.splice(index, 1);\r\n values.splice(index, 1)\r\n }\r\n }\r\n}\r\nexport default weakMap;\r\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/ui/collection/item.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"../../core/utils/public_component\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n };\r\n var oldValue;\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"
\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData;\r\n var exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), (function() {\r\n return exprGetter(rawData)\r\n }), function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.force()\r\n }));\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value);\r\n this._updateOwnerFocus(value)\r\n },\r\n _updateOwnerFocus: function(isDisabled) {\r\n var ownerComponent = this._options.owner;\r\n if (ownerComponent && isDisabled) {\r\n ownerComponent._resetItemFocus(this._$element)\r\n }\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return getInstanceByElement($element, this)\r\n};\r\nexport default CollectionItem;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport Class from \"../../core/class\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nvar SCROLLABLE_NATIVE = \"dxNativeScrollable\";\r\nvar SCROLLABLE_NATIVE_CLASS = \"dx-scrollable-native\";\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nvar NativeStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = scrollable._$container;\r\n this._$content = scrollable._$content;\r\n this._direction = scrollable.option(\"direction\");\r\n this._useSimulatedScrollbar = scrollable.option(\"useSimulatedScrollbar\");\r\n this._showScrollbar = scrollable.option(\"showScrollbar\");\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getScrollOffset = scrollable._getScrollOffset.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable)\r\n },\r\n render: function() {\r\n var device = devices.real();\r\n var deviceType = device.platform;\r\n this._$element.addClass(SCROLLABLE_NATIVE_CLASS).addClass(SCROLLABLE_NATIVE_CLASS + \"-\" + deviceType).toggleClass(SCROLLABLE_SCROLLBARS_HIDDEN, !this._showScrollbar);\r\n if (this._showScrollbar && this._useSimulatedScrollbar) {\r\n this._renderScrollbars()\r\n }\r\n },\r\n updateBounds: noop,\r\n _renderScrollbars: function() {\r\n this._scrollbars = {};\r\n this._hideScrollbarTimeout = 0;\r\n this._$element.addClass(SCROLLABLE_SCROLLBAR_SIMULATED);\r\n this._renderScrollbar(VERTICAL);\r\n this._renderScrollbar(HORIZONTAL)\r\n },\r\n _renderScrollbar: function(direction) {\r\n if (!this._isDirection(direction)) {\r\n return\r\n }\r\n this._scrollbars[direction] = new Scrollbar($(\"
\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: noop,\r\n handleStart: noop,\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._allowedDirection()) {\r\n e.originalEvent.isScrollingEvent = true\r\n }\r\n },\r\n handleEnd: noop,\r\n handleCancel: noop,\r\n handleStop: noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollbars || {}, (function(direction, scrollbar) {\r\n callback(scrollbar, direction)\r\n }))\r\n },\r\n createActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._updateAction = this._createActionByOption(\"onUpdated\")\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n left: left,\r\n top: top\r\n } = this.location();\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._getScrollOffset(),\r\n reachedLeft: this._isReachedLeft(left),\r\n reachedRight: this._isReachedRight(left),\r\n reachedTop: this._isDirection(VERTICAL) ? top >= 0 : void 0,\r\n reachedBottom: this._isDirection(VERTICAL) ? Math.abs(top) >= this._getMaxOffset().top : void 0\r\n }\r\n },\r\n _isReachedLeft: function() {\r\n return this._isDirection(HORIZONTAL) ? this.location().left >= 0 : void 0\r\n },\r\n _isReachedRight: function() {\r\n return this._isDirection(HORIZONTAL) ? Math.abs(this.location().left) >= this._getMaxOffset().left : void 0\r\n },\r\n handleScroll: function(e) {\r\n this._component._updateRtlConfig();\r\n this._eventForUserAction = e;\r\n this._moveScrollbars();\r\n this._scrollAction(this._createActionArgs())\r\n },\r\n _moveScrollbars: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this._getScrollOffset();\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.moveTo({\r\n top: -top,\r\n left: -left\r\n });\r\n scrollbar.option(\"visible\", true)\r\n }));\r\n this._hideScrollbars()\r\n },\r\n _hideScrollbars: function() {\r\n clearTimeout(this._hideScrollbarTimeout);\r\n this._hideScrollbarTimeout = setTimeout(function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.option(\"visible\", false)\r\n }))\r\n }.bind(this), HIDE_SCROLLBAR_TIMEOUT)\r\n },\r\n location: function() {\r\n return {\r\n left: -this._$container.scrollLeft(),\r\n top: -this._$container.scrollTop()\r\n }\r\n },\r\n disabledChanged: noop,\r\n update: function() {\r\n this._update();\r\n this._updateAction(this._createActionArgs())\r\n },\r\n _update: function() {\r\n this._updateDimensions();\r\n this._updateScrollbars()\r\n },\r\n _updateDimensions: function() {\r\n this._containerSize = {\r\n height: this._$container.height(),\r\n width: this._$container.width()\r\n };\r\n this._componentContentSize = {\r\n height: this._component.$content().height(),\r\n width: this._component.$content().width()\r\n };\r\n this._contentSize = {\r\n height: this._$content.height(),\r\n width: this._$content.width()\r\n }\r\n },\r\n _updateScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar, direction) {\r\n var dimension = direction === VERTICAL ? \"height\" : \"width\";\r\n scrollbar.option({\r\n containerSize: this._containerSize[dimension],\r\n contentSize: this._componentContentSize[dimension]\r\n });\r\n scrollbar.update()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n return {\r\n vertical: this._isDirection(VERTICAL) && this._contentSize.height > this._containerSize.height,\r\n horizontal: this._isDirection(HORIZONTAL) && this._contentSize.width > this._containerSize.width\r\n }\r\n },\r\n dispose: function() {\r\n var className = this._$element.get(0).className;\r\n var scrollableNativeRegexp = new RegExp(SCROLLABLE_NATIVE_CLASS + \"\\\\S*\", \"g\");\r\n if (scrollableNativeRegexp.test(className)) {\r\n this._$element.removeClass(className.match(scrollableNativeRegexp).join(\" \"))\r\n }\r\n eventsEngine.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE_NATIVE);\r\n this._removeScrollbars();\r\n clearTimeout(this._hideScrollbarTimeout)\r\n },\r\n _removeScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.$element().remove()\r\n }))\r\n },\r\n scrollBy: function(distance) {\r\n var location = this.location();\r\n this._$container.scrollTop(Math.round(-location.top - distance.top));\r\n this._$container.scrollLeft(Math.round(-location.left - distance.left))\r\n },\r\n validate: function(e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (isDxMouseWheelEvent(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection(e) {\r\n var container = this._$container.get(0);\r\n var result;\r\n if (e.delta > 0) {\r\n result = e.shiftKey ? !container.scrollLeft : !container.scrollTop\r\n } else if (e.shiftKey) {\r\n result = container.scrollLeft >= this._getMaxOffset().left\r\n } else {\r\n result = container.scrollTop >= this._getMaxOffset().top\r\n }\r\n return result\r\n },\r\n getDirection: function() {\r\n return this._allowedDirection()\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar monthRegExpGenerator = function(count, dateParts) {\r\n if (count > 2) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\")\r\n })).join(\"|\")\r\n })).join(\"|\")\r\n }\r\n return \"0?[1-9]|1[012]\"\r\n};\r\nvar PATTERN_REGEXPS = {\r\n \":\": function(count, dateParts) {\r\n var countSuffix = count > 1 ? \"{\".concat(count, \"}\") : \"\";\r\n return \"\\\\\".concat(dateParts.getTimeSeparator()).concat(countSuffix)\r\n },\r\n y: function(count) {\r\n return \"[0-9]+\"\r\n },\r\n M: monthRegExpGenerator,\r\n L: monthRegExpGenerator,\r\n Q: function(count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\")\r\n }\r\n return \"0?[1-4]\"\r\n },\r\n E: function(count, dateParts) {\r\n return \"\\\\D*\"\r\n },\r\n a: function(count, dateParts) {\r\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\")\r\n },\r\n d: function(count) {\r\n return \"0?[1-9]|[12][0-9]|3[01]\"\r\n },\r\n H: function(count) {\r\n return \"0?[0-9]|1[0-9]|2[0-3]\"\r\n },\r\n h: function(count) {\r\n return \"0?[1-9]|1[012]\"\r\n },\r\n m: function(count) {\r\n return \"0?[0-9]|[1-5][0-9]\"\r\n },\r\n s: function(count) {\r\n return \"0?[0-9]|[1-5][0-9]\"\r\n },\r\n S: function(count) {\r\n return \"[0-9]{1,\" + count + \"}\"\r\n },\r\n w: function(count) {\r\n return \"0?[0-9]|[1-5][0-9]\"\r\n }\r\n};\r\nvar parseNumber = Number;\r\nvar caseInsensitiveIndexOf = function(array, value) {\r\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase())\r\n};\r\nvar monthPatternParser = function(text, count, dateParts) {\r\n if (count > 2) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\r\n return caseInsensitiveIndexOf(monthNames, text)\r\n }))\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n })).filter((function(index) {\r\n return index >= 0\r\n }))[0]\r\n }\r\n return parseNumber(text) - 1\r\n};\r\nvar PATTERN_PARSERS = {\r\n y: function(text, count) {\r\n var year = parseNumber(text);\r\n if (2 === count) {\r\n return year < 30 ? 2e3 + year : 1900 + year\r\n }\r\n return year\r\n },\r\n M: monthPatternParser,\r\n L: monthPatternParser,\r\n Q: function(text, count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text)\r\n }\r\n return parseNumber(text) - 1\r\n },\r\n E: function(text, count, dateParts) {\r\n var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(dayNames, text)\r\n },\r\n a: function(text, count, dateParts) {\r\n var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(periodNames, text)\r\n },\r\n d: parseNumber,\r\n H: parseNumber,\r\n h: parseNumber,\r\n m: parseNumber,\r\n s: parseNumber,\r\n S: function(text, count) {\r\n count = Math.max(count, 3);\r\n text = text.slice(0, 3);\r\n while (count < 3) {\r\n text += \"0\";\r\n count++\r\n }\r\n return parseNumber(text)\r\n }\r\n};\r\nvar ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\r\nvar PATTERN_SETTERS = {\r\n y: \"setFullYear\",\r\n M: \"setMonth\",\r\n L: \"setMonth\",\r\n a: function(date, value, datePartValues) {\r\n var hours = date.getHours();\r\n var hourPartValue = datePartValues.h;\r\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\r\n hours--\r\n }\r\n if (!value && 12 === hours) {\r\n hours = 0\r\n } else if (value && 12 !== hours) {\r\n hours += 12\r\n }\r\n date.setHours(hours)\r\n },\r\n d: \"setDate\",\r\n H: \"setHours\",\r\n h: \"setHours\",\r\n m: \"setMinutes\",\r\n s: \"setSeconds\",\r\n S: \"setMilliseconds\"\r\n};\r\nvar getSameCharCount = function(text, index) {\r\n var char = text[index];\r\n var count = 0;\r\n do {\r\n index++;\r\n count++\r\n } while (text[index] === char);\r\n return count\r\n};\r\nvar createPattern = function(char, count) {\r\n var result = \"\";\r\n for (var i = 0; i < count; i++) {\r\n result += char\r\n }\r\n return result\r\n};\r\nexport var getRegExpInfo = function(format, dateParts) {\r\n var regexpText = \"\";\r\n var stubText = \"\";\r\n var isEscaping;\r\n var patterns = [];\r\n var addPreviousStub = function() {\r\n if (stubText) {\r\n patterns.push(\"'\" + stubText + \"'\");\r\n regexpText += escapeRegExp(stubText) + \")\";\r\n stubText = \"\"\r\n }\r\n };\r\n for (var i = 0; i < format.length; i++) {\r\n var char = format[i];\r\n var isEscapeChar = \"'\" === char;\r\n var regexpPart = PATTERN_REGEXPS[char];\r\n if (isEscapeChar) {\r\n isEscaping = !isEscaping;\r\n if (\"'\" !== format[i - 1]) {\r\n continue\r\n }\r\n }\r\n if (regexpPart && !isEscaping) {\r\n var count = getSameCharCount(format, i);\r\n var pattern = createPattern(char, count);\r\n addPreviousStub();\r\n patterns.push(pattern);\r\n regexpText += \"(\" + regexpPart(count, dateParts) + \")\";\r\n i += count - 1\r\n } else {\r\n if (!stubText) {\r\n regexpText += \"(\"\r\n }\r\n stubText += char\r\n }\r\n }\r\n addPreviousStub();\r\n return {\r\n patterns: patterns,\r\n regexp: new RegExp(\"^\" + regexpText + \"$\", \"i\")\r\n }\r\n};\r\nexport var getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nvar setPatternPart = function(date, pattern, text, dateParts, datePartValues) {\r\n var patternChar = pattern[0];\r\n var partSetter = PATTERN_SETTERS[patternChar];\r\n var partParser = PATTERN_PARSERS[patternChar];\r\n if (partSetter && partParser) {\r\n var value = partParser(text, pattern.length, dateParts);\r\n datePartValues[pattern] = value;\r\n if (date[partSetter]) {\r\n date[partSetter](value)\r\n } else {\r\n partSetter(date, value, datePartValues)\r\n }\r\n }\r\n};\r\nvar setPatternPartFromNow = function(date, pattern, now) {\r\n var setterName = PATTERN_SETTERS[pattern];\r\n var getterName = \"g\" + setterName.substr(1);\r\n var value = now[getterName]();\r\n date[setterName](value)\r\n};\r\nvar getShortPatterns = function(fullPatterns) {\r\n return fullPatterns.map((function(pattern) {\r\n if (\"'\" === pattern[0]) {\r\n return \"\"\r\n } else {\r\n return \"H\" === pattern[0] ? \"h\" : pattern[0]\r\n }\r\n }))\r\n};\r\nvar getMaxOrderedPatternIndex = function(patterns) {\r\n var indexes = patterns.map((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern)\r\n }));\r\n return Math.max.apply(Math, indexes)\r\n};\r\nvar getOrderedFormatPatterns = function(formatPatterns) {\r\n var otherPatterns = formatPatterns.filter((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern) < 0\r\n }));\r\n return ORDERED_PATTERNS.concat(otherPatterns)\r\n};\r\nexport var getParser = function(format, dateParts) {\r\n var regExpInfo = getRegExpInfo(format, dateParts);\r\n return function(text) {\r\n var regExpResult = regExpInfo.regexp.exec(text);\r\n if (regExpResult) {\r\n var now = new Date;\r\n var date = new Date(now.getFullYear(), 0, 1);\r\n var formatPatterns = getShortPatterns(regExpInfo.patterns);\r\n var maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\r\n var orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\r\n var datePartValues = {};\r\n orderedFormatPatterns.forEach((function(pattern, index) {\r\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\r\n return\r\n }\r\n var patternIndex = formatPatterns.indexOf(pattern);\r\n if (patternIndex >= 0) {\r\n var regExpPattern = regExpInfo.patterns[patternIndex];\r\n var regExpText = regExpResult[patternIndex + 1];\r\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues)\r\n } else {\r\n setPatternPartFromNow(date, pattern, now)\r\n }\r\n }));\r\n return date\r\n }\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"21.1.4\";\r\n","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n merge\r\n} from \"./array\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return merge([], container.childNodes)\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport dataUtils from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return dataUtils.errorMessageFromXhr(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== dataUtils.XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (dataUtils.keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n delete this.__rawData\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/utils.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar getElementWidth = function($element) {\r\n if (hasWindow()) {\r\n return $element.outerWidth()\r\n }\r\n};\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexport {\r\n getElementWidth,\r\n getSizeValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/toast.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar ready = readyCallbacks.add;\r\nvar TOAST_CLASS = \"dx-toast\";\r\nvar TOAST_CLASS_PREFIX = TOAST_CLASS + \"-\";\r\nvar TOAST_WRAPPER_CLASS = TOAST_CLASS_PREFIX + \"wrapper\";\r\nvar TOAST_CONTENT_CLASS = TOAST_CLASS_PREFIX + \"content\";\r\nvar TOAST_MESSAGE_CLASS = TOAST_CLASS_PREFIX + \"message\";\r\nvar TOAST_ICON_CLASS = TOAST_CLASS_PREFIX + \"icon\";\r\nvar WIDGET_NAME = \"dxToast\";\r\nvar toastTypes = [\"info\", \"warning\", \"error\", \"success\"];\r\nvar TOAST_STACK = [];\r\nvar FIRST_Z_INDEX_OFFSET = 8e3;\r\nvar visibleToastInstance = null;\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n bottom: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: null,\r\n offset: \"0 -20\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n right: {\r\n my: \"center right\",\r\n at: \"center right\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n left: {\r\n my: \"center left\",\r\n at: \"center left\",\r\n of: null,\r\n offset: \"0 0\"\r\n }\r\n};\r\nready((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, (function(e) {\r\n for (var i = TOAST_STACK.length - 1; i >= 0; i--) {\r\n if (!TOAST_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n }))\r\n}));\r\nvar Toast = Overlay.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: \"\",\r\n type: \"info\",\r\n displayTime: 2e3,\r\n position: \"bottom center\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n to: 0\r\n }\r\n },\r\n shading: false,\r\n height: \"auto\",\r\n hideTopOverlayHandler: null,\r\n closeOnSwipe: true,\r\n closeOnClick: false,\r\n resizeEnabled: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n closeOnOutsideClick: true,\r\n width: \"auto\",\r\n position: {\r\n at: \"bottom left\",\r\n my: \"bottom left\",\r\n offset: \"20 -20\"\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 200,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 200,\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function(_device) {\r\n var isPhone = \"phone\" === _device.deviceType;\r\n var isAndroid = \"android\" === _device.platform;\r\n return isPhone && isAndroid\r\n },\r\n options: {\r\n width: function() {\r\n var _window$visualViewpor;\r\n return (null === window || void 0 === window ? void 0 : null === (_window$visualViewpor = window.visualViewport) || void 0 === _window$visualViewpor ? void 0 : _window$visualViewpor.width) || $(window).width()\r\n },\r\n position: {\r\n at: \"bottom center\",\r\n my: \"bottom center\",\r\n offset: \"0 0\"\r\n }\r\n }\r\n }, {\r\n device: function(_device2) {\r\n return \"phone\" === _device2.deviceType\r\n },\r\n options: {\r\n width: function() {\r\n var _window$visualViewpor2;\r\n return (null === window || void 0 === window ? void 0 : null === (_window$visualViewpor2 = window.visualViewport) || void 0 === _window$visualViewpor2 ? void 0 : _window$visualViewpor2.width) || $(window).width()\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n minWidth: 344,\r\n maxWidth: 568,\r\n displayTime: 4e3\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._posStringToObject()\r\n },\r\n _renderContentImpl: function() {\r\n if (this.option(\"message\")) {\r\n this._message = $(\"
\").addClass(TOAST_MESSAGE_CLASS).text(this.option(\"message\")).appendTo(this.$content())\r\n }\r\n this.setAria(\"role\", \"alert\", this._message);\r\n if (inArray(this.option(\"type\").toLowerCase(), toastTypes) > -1) {\r\n this.$content().prepend($(\"
\").addClass(TOAST_ICON_CLASS))\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(TOAST_CLASS);\r\n this.$wrapper().addClass(TOAST_WRAPPER_CLASS);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(this.option(\"type\")).toLowerCase());\r\n this.$content().addClass(TOAST_CONTENT_CLASS);\r\n this._toggleCloseEvents(\"Swipe\");\r\n this._toggleCloseEvents(\"Click\")\r\n },\r\n _renderScrollTerminator: noop,\r\n _toggleCloseEvents: function(event) {\r\n var dxEvent = \"dx\" + event.toLowerCase();\r\n eventsEngine.off(this.$content(), dxEvent);\r\n this.option(\"closeOn\" + event) && eventsEngine.on(this.$content(), dxEvent, this.hide.bind(this))\r\n },\r\n _posStringToObject: function() {\r\n if (!isString(this.option(\"position\"))) {\r\n return\r\n }\r\n var verticalPosition = this.option(\"position\").split(\" \")[0];\r\n var horizontalPosition = this.option(\"position\").split(\" \")[1];\r\n this.option(\"position\", extend({}, POSITION_ALIASES[verticalPosition]));\r\n switch (horizontalPosition) {\r\n case \"center\":\r\n case \"left\":\r\n case \"right\":\r\n this.option(\"position\").at += \" \" + horizontalPosition;\r\n this.option(\"position\").my += \" \" + horizontalPosition\r\n }\r\n },\r\n _show: function() {\r\n if (visibleToastInstance && visibleToastInstance !== this) {\r\n clearTimeout(visibleToastInstance._hideTimeout);\r\n visibleToastInstance.hide()\r\n }\r\n visibleToastInstance = this;\r\n return this.callBase.apply(this, arguments).done(function() {\r\n clearTimeout(this._hideTimeout);\r\n this._hideTimeout = setTimeout(this.hide.bind(this), this.option(\"displayTime\"))\r\n }.bind(this))\r\n },\r\n _hide: function() {\r\n visibleToastInstance = null;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _overlayStack: function() {\r\n return TOAST_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return this.callBase() + FIRST_Z_INDEX_OFFSET\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._hideTimeout);\r\n visibleToastInstance = null;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"type\":\r\n this.$content().removeClass(TOAST_CLASS_PREFIX + args.previousValue);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(args.value).toLowerCase());\r\n break;\r\n case \"message\":\r\n if (this._message) {\r\n this._message.text(args.value)\r\n }\r\n break;\r\n case \"closeOnSwipe\":\r\n this._toggleCloseEvents(\"Swipe\");\r\n break;\r\n case \"closeOnClick\":\r\n this._toggleCloseEvents(\"Click\");\r\n break;\r\n case \"displayTime\":\r\n case \"position\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(WIDGET_NAME, Toast);\r\nexport default Toast;\r\n","/**\r\n * DevExtreme (esm/ui/notify.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Action from \"../core/action\";\r\nimport {\r\n value\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport Toast from \"./toast\";\r\nvar $notify = null;\r\nvar notify = function(message, type, displayTime) {\r\n var options = isPlainObject(message) ? message : {\r\n message: message\r\n };\r\n var userHiddenAction = options.onHidden;\r\n extend(options, {\r\n type: type,\r\n displayTime: displayTime,\r\n onHidden: function(args) {\r\n $(args.element).remove();\r\n new Action(userHiddenAction, {\r\n context: args.model\r\n }).execute(arguments)\r\n }\r\n });\r\n $notify = $(\"
\").appendTo(value());\r\n new Toast($notify, options).show()\r\n};\r\nexport default notify;\r\n","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shallowEquals = exports.isIE = exports.parseOptionName = exports.mergeNameParts = void 0;\nfunction mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join('.');\n}\nexports.mergeNameParts = mergeNameParts;\nfunction parseOptionName(name) {\n var parts = name.split('[');\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name,\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1)),\n };\n}\nexports.parseOptionName = parseOptionName;\nexports.isIE = function () {\n var _a, _b;\n var ua = (_b = (_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) !== null && _b !== void 0 ? _b : ''; // Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE'); // IE 10 or older\n var trident = ua.indexOf('Trident/'); // IE 11\n return (msie > 0 || trident > 0);\n};\nexports.shallowEquals = function (first, second) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n return Object.keys(first).every(function (key) { return first[key] === second[key]; });\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar Immutable = require(\"immutable\");\n\nvar OrderedMap = Immutable.OrderedMap;\nvar BlockMapBuilder = {\n createFromArray: function createFromArray(blocks) {\n return OrderedMap(blocks.map(function (block) {\n return [block.getKey(), block];\n }));\n }\n};\nmodule.exports = BlockMapBuilder;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\n/**\n * Search through an array to find contiguous stretches of elements that\n * match a specified filter function.\n *\n * When ranges are found, execute a specified `found` function to supply\n * the values to the caller.\n */\nfunction findRangesImmutable(haystack, areEqualFn, filterFn, foundFn) {\n if (!haystack.size) {\n return;\n }\n\n var cursor = 0;\n haystack.reduce(function (value, nextValue, nextIndex) {\n if (!areEqualFn(value, nextValue)) {\n if (filterFn(value)) {\n foundFn(cursor, nextIndex);\n }\n\n cursor = nextIndex;\n }\n\n return nextValue;\n });\n filterFn(haystack.last()) && foundFn(cursor, haystack.count());\n}\n\nmodule.exports = findRangesImmutable;","\"use strict\";\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\nfunction isHTMLElement(node) {\n if (!node || !node.ownerDocument) {\n return false;\n }\n\n if (!node.ownerDocument.defaultView) {\n return node instanceof HTMLElement;\n }\n\n if (node instanceof node.ownerDocument.defaultView.HTMLElement) {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isHTMLElement;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar DraftModifier = require(\"./DraftModifier\");\n\nvar gkx = require(\"./gkx\");\n\nvar experimentalTreeDataSupport = gkx('draft_tree_data_support');\n/**\n * For a collapsed selection state, remove text based on the specified strategy.\n * If the selection state is not collapsed, remove the entire selected range.\n */\n\nfunction removeTextWithStrategy(editorState, strategy, direction) {\n var selection = editorState.getSelection();\n var content = editorState.getCurrentContent();\n var target = selection;\n var anchorKey = selection.getAnchorKey();\n var focusKey = selection.getFocusKey();\n var anchorBlock = content.getBlockForKey(anchorKey);\n\n if (experimentalTreeDataSupport) {\n if (direction === 'forward') {\n if (anchorKey !== focusKey) {\n // For now we ignore forward delete across blocks,\n // if there is demand for this we will implement it.\n return content;\n }\n }\n }\n\n if (selection.isCollapsed()) {\n if (direction === 'forward') {\n if (editorState.isSelectionAtEndOfContent()) {\n return content;\n }\n\n if (experimentalTreeDataSupport) {\n var isAtEndOfBlock = selection.getAnchorOffset() === content.getBlockForKey(anchorKey).getLength();\n\n if (isAtEndOfBlock) {\n var anchorBlockSibling = content.getBlockForKey(anchorBlock.nextSibling);\n\n if (!anchorBlockSibling || anchorBlockSibling.getLength() === 0) {\n // For now we ignore forward delete at the end of a block,\n // if there is demand for this we will implement it.\n return content;\n }\n }\n }\n } else if (editorState.isSelectionAtStartOfContent()) {\n return content;\n }\n\n target = strategy(editorState);\n\n if (target === selection) {\n return content;\n }\n }\n\n return DraftModifier.removeRange(content, target, direction);\n}\n\nmodule.exports = removeTextWithStrategy;","//Types of elements found in the DOM\nmodule.exports = {\n\tText: \"text\", //Text\n\tDirective: \"directive\", //\n\tComment: \"comment\", //\n\tScript: \"script\", //\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar randomizeBlockMapKeys = require(\"./randomizeBlockMapKeys\");\n\nvar removeEntitiesAtEdges = require(\"./removeEntitiesAtEdges\");\n\nvar getContentStateFragment = function getContentStateFragment(contentState, selectionState) {\n var startKey = selectionState.getStartKey();\n var startOffset = selectionState.getStartOffset();\n var endKey = selectionState.getEndKey();\n var endOffset = selectionState.getEndOffset(); // Edge entities should be stripped to ensure that we don't preserve\n // invalid partial entities when the fragment is reused. We do, however,\n // preserve entities that are entirely within the selection range.\n\n var contentWithoutEdgeEntities = removeEntitiesAtEdges(contentState, selectionState);\n var blockMap = contentWithoutEdgeEntities.getBlockMap();\n var blockKeys = blockMap.keySeq();\n var startIndex = blockKeys.indexOf(startKey);\n var endIndex = blockKeys.indexOf(endKey) + 1;\n return randomizeBlockMapKeys(blockMap.slice(startIndex, endIndex).map(function (block, blockKey) {\n var text = block.getText();\n var chars = block.getCharacterList();\n\n if (startKey === endKey) {\n return block.merge({\n text: text.slice(startOffset, endOffset),\n characterList: chars.slice(startOffset, endOffset)\n });\n }\n\n if (blockKey === startKey) {\n return block.merge({\n text: text.slice(startOffset),\n characterList: chars.slice(startOffset)\n });\n }\n\n if (blockKey === endKey) {\n return block.merge({\n text: text.slice(0, endOffset),\n characterList: chars.slice(0, endOffset)\n });\n }\n\n return block;\n }));\n};\n\nmodule.exports = getContentStateFragment;","\"use strict\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\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/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\nvar DraftEntityInstance = require(\"./DraftEntityInstance\");\n\nvar Immutable = require(\"immutable\");\n\nvar invariant = require(\"fbjs/lib/invariant\");\n\nvar uuid = require(\"./uuid\");\n\nvar Map = Immutable.Map;\nvar instances = Map();\nvar instanceKey = uuid();\n/**\n * Temporary utility for generating the warnings\n */\n\nfunction logWarning(oldMethodCall, newMethodCall) {\n console.warn('WARNING: ' + oldMethodCall + ' will be deprecated soon!\\nPlease use \"' + newMethodCall + '\" instead.');\n}\n\n/**\n * A \"document entity\" is an object containing metadata associated with a\n * piece of text in a ContentBlock.\n *\n * For example, a `link` entity might include a `uri` property. When a\n * ContentBlock is rendered in the browser, text that refers to that link\n * entity may be rendered as an anchor, with the `uri` as the href value.\n *\n * In a ContentBlock, every position in the text may correspond to zero\n * or one entities. This correspondence is tracked using a key string,\n * generated via DraftEntity.create() and used to obtain entity metadata\n * via DraftEntity.get().\n */\nvar DraftEntity = {\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getLastCreatedEntityKey' instead.\n * ---\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n getLastCreatedEntityKey: function getLastCreatedEntityKey() {\n logWarning('DraftEntity.getLastCreatedEntityKey', 'contentState.getLastCreatedEntityKey');\n return DraftEntity.__getLastCreatedEntityKey();\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.createEntity' instead.\n * ---\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n create: function create(type, mutability, data) {\n logWarning('DraftEntity.create', 'contentState.createEntity');\n return DraftEntity.__create(type, mutability, data);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.addEntity' instead.\n * ---\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n add: function add(instance) {\n logWarning('DraftEntity.add', 'contentState.addEntity');\n return DraftEntity.__add(instance);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.getEntity' instead.\n * ---\n * Retrieve the entity corresponding to the supplied key string.\n */\n get: function get(key) {\n logWarning('DraftEntity.get', 'contentState.getEntity');\n return DraftEntity.__get(key);\n },\n\n /**\n * Get all the entities in the content state.\n */\n __getAll: function __getAll() {\n return instances;\n },\n\n /**\n * Load the entity map with the given set of entities.\n */\n __loadWithEntities: function __loadWithEntities(entities) {\n instances = entities;\n instanceKey = uuid();\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.mergeEntityData' instead.\n * ---\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n mergeData: function mergeData(key, toMerge) {\n logWarning('DraftEntity.mergeData', 'contentState.mergeEntityData');\n return DraftEntity.__mergeData(key, toMerge);\n },\n\n /**\n * WARNING: This method will be deprecated soon!\n * Please use 'contentState.replaceEntityData' instead.\n * ---\n * Completely replace the data for a given instance.\n */\n replaceData: function replaceData(key, newData) {\n logWarning('DraftEntity.replaceData', 'contentState.replaceEntityData');\n return DraftEntity.__replaceData(key, newData);\n },\n // ***********************************WARNING******************************\n // --- the above public API will be deprecated in the next version of Draft!\n // The methods below this line are private - don't call them directly.\n\n /**\n * Get the random key string from whatever entity was last created.\n * We need this to support the new API, as part of transitioning to put Entity\n * storage in contentState.\n */\n __getLastCreatedEntityKey: function __getLastCreatedEntityKey() {\n return instanceKey;\n },\n\n /**\n * Create a DraftEntityInstance and store it for later retrieval.\n *\n * A random key string will be generated and returned. This key may\n * be used to track the entity's usage in a ContentBlock, and for\n * retrieving data about the entity at render time.\n */\n __create: function __create(type, mutability, data) {\n return DraftEntity.__add(new DraftEntityInstance({\n type: type,\n mutability: mutability,\n data: data || {}\n }));\n },\n\n /**\n * Add an existing DraftEntityInstance to the DraftEntity map. This is\n * useful when restoring instances from the server.\n */\n __add: function __add(instance) {\n instanceKey = uuid();\n instances = instances.set(instanceKey, instance);\n return instanceKey;\n },\n\n /**\n * Retrieve the entity corresponding to the supplied key string.\n */\n __get: function __get(key) {\n var instance = instances.get(key);\n !!!instance ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unknown DraftEntity key: %s.', key) : invariant(false) : void 0;\n return instance;\n },\n\n /**\n * Entity instances are immutable. If you need to update the data for an\n * instance, this method will merge your data updates and return a new\n * instance.\n */\n __mergeData: function __mergeData(key, toMerge) {\n var instance = DraftEntity.__get(key);\n\n var newData = _objectSpread({}, instance.getData(), toMerge);\n\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n },\n\n /**\n * Completely replace the data for a given instance.\n */\n __replaceData: function __replaceData(key, newData) {\n var instance = DraftEntity.__get(key);\n\n var newInstance = instance.set('data', newData);\n instances = instances.set(key, newInstance);\n return newInstance;\n }\n};\nmodule.exports = DraftEntity;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar Immutable = require(\"immutable\");\n\nvar Record = Immutable.Record;\nvar defaultRecord = {\n anchorKey: '',\n anchorOffset: 0,\n focusKey: '',\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n};\n/* $FlowFixMe[unclear-type] This comment suppresses an error found when\n * automatically adding a type annotation with the codemod Komodo/Annotate_\n * exports. To see the error delete this comment and run Flow. */\n\nvar SelectionStateRecord = Record(defaultRecord);\n\nvar SelectionState = /*#__PURE__*/function (_SelectionStateRecord) {\n _inheritsLoose(SelectionState, _SelectionStateRecord);\n\n function SelectionState() {\n return _SelectionStateRecord.apply(this, arguments) || this;\n }\n\n var _proto = SelectionState.prototype;\n\n _proto.serialize = function serialize() {\n return 'Anchor: ' + this.getAnchorKey() + ':' + this.getAnchorOffset() + ', ' + 'Focus: ' + this.getFocusKey() + ':' + this.getFocusOffset() + ', ' + 'Is Backward: ' + String(this.getIsBackward()) + ', ' + 'Has Focus: ' + String(this.getHasFocus());\n };\n\n _proto.getAnchorKey = function getAnchorKey() {\n return this.get('anchorKey');\n };\n\n _proto.getAnchorOffset = function getAnchorOffset() {\n return this.get('anchorOffset');\n };\n\n _proto.getFocusKey = function getFocusKey() {\n return this.get('focusKey');\n };\n\n _proto.getFocusOffset = function getFocusOffset() {\n return this.get('focusOffset');\n };\n\n _proto.getIsBackward = function getIsBackward() {\n return this.get('isBackward');\n };\n\n _proto.getHasFocus = function getHasFocus() {\n return this.get('hasFocus');\n }\n /**\n * Return whether the specified range overlaps with an edge of the\n * SelectionState.\n */\n ;\n\n _proto.hasEdgeWithin = function hasEdgeWithin(blockKey, start, end) {\n var anchorKey = this.getAnchorKey();\n var focusKey = this.getFocusKey();\n\n if (anchorKey === focusKey && anchorKey === blockKey) {\n var selectionStart = this.getStartOffset();\n var selectionEnd = this.getEndOffset();\n return start <= selectionStart && selectionStart <= end || // selectionStart is between start and end, or\n start <= selectionEnd && selectionEnd <= end // selectionEnd is between start and end\n ;\n }\n\n if (blockKey !== anchorKey && blockKey !== focusKey) {\n return false;\n }\n\n var offsetToCheck = blockKey === anchorKey ? this.getAnchorOffset() : this.getFocusOffset();\n return start <= offsetToCheck && end >= offsetToCheck;\n };\n\n _proto.isCollapsed = function isCollapsed() {\n return this.getAnchorKey() === this.getFocusKey() && this.getAnchorOffset() === this.getFocusOffset();\n };\n\n _proto.getStartKey = function getStartKey() {\n return this.getIsBackward() ? this.getFocusKey() : this.getAnchorKey();\n };\n\n _proto.getStartOffset = function getStartOffset() {\n return this.getIsBackward() ? this.getFocusOffset() : this.getAnchorOffset();\n };\n\n _proto.getEndKey = function getEndKey() {\n return this.getIsBackward() ? this.getAnchorKey() : this.getFocusKey();\n };\n\n _proto.getEndOffset = function getEndOffset() {\n return this.getIsBackward() ? this.getAnchorOffset() : this.getFocusOffset();\n };\n\n SelectionState.createEmpty = function createEmpty(key) {\n return new SelectionState({\n anchorKey: key,\n anchorOffset: 0,\n focusKey: key,\n focusOffset: 0,\n isBackward: false,\n hasFocus: false\n });\n };\n\n return SelectionState;\n}(SelectionStateRecord);\n\nmodule.exports = SelectionState;","/**\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/**\n * Constants to represent text directionality\n *\n * Also defines a *global* direciton, to be used in bidi algorithms as a\n * default fallback direciton, when no better direction is found or provided.\n *\n * NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial\n * global direction value based on the application.\n *\n * Part of the implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n'use strict';\n\nvar invariant = require(\"./invariant\");\n\nvar NEUTRAL = 'NEUTRAL'; // No strong direction\n\nvar LTR = 'LTR'; // Left-to-Right direction\n\nvar RTL = 'RTL'; // Right-to-Left direction\n\nvar globalDir = null; // == Helpers ==\n\n/**\n * Check if a directionality value is a Strong one\n */\n\nfunction isStrong(dir) {\n return dir === LTR || dir === RTL;\n}\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property.\n */\n\n\nfunction getHTMLDir(dir) {\n !isStrong(dir) ? process.env.NODE_ENV !== \"production\" ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n return dir === LTR ? 'ltr' : 'rtl';\n}\n/**\n * Get string value to be used for `dir` HTML attribute or `direction` CSS\n * property, but returns null if `dir` has same value as `otherDir`.\n * `null`.\n */\n\n\nfunction getHTMLDirIfDifferent(dir, otherDir) {\n !isStrong(dir) ? process.env.NODE_ENV !== \"production\" ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n !isStrong(otherDir) ? process.env.NODE_ENV !== \"production\" ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;\n return dir === otherDir ? null : getHTMLDir(dir);\n} // == Global Direction ==\n\n/**\n * Set the global direction.\n */\n\n\nfunction setGlobalDir(dir) {\n globalDir = dir;\n}\n/**\n * Initialize the global direction\n */\n\n\nfunction initGlobalDir() {\n setGlobalDir(LTR);\n}\n/**\n * Get the global direction\n */\n\n\nfunction getGlobalDir() {\n if (!globalDir) {\n this.initGlobalDir();\n }\n\n !globalDir ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Global direction not set.') : invariant(false) : void 0;\n return globalDir;\n}\n\nvar UnicodeBidiDirection = {\n // Values\n NEUTRAL: NEUTRAL,\n LTR: LTR,\n RTL: RTL,\n // Helpers\n isStrong: isStrong,\n getHTMLDir: getHTMLDir,\n getHTMLDirIfDifferent: getHTMLDirIfDifferent,\n // Global Direction\n setGlobalDir: setGlobalDir,\n initGlobalDir: initGlobalDir,\n getGlobalDir: getGlobalDir\n};\nmodule.exports = UnicodeBidiDirection;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar getCorrectDocumentFromNode = require(\"./getCorrectDocumentFromNode\");\n\nvar getSelectionOffsetKeyForNode = require(\"./getSelectionOffsetKeyForNode\");\n/**\n * Get the key from the node's nearest offset-aware ancestor.\n */\n\n\nfunction findAncestorOffsetKey(node) {\n var searchNode = node;\n\n while (searchNode && searchNode !== getCorrectDocumentFromNode(node).documentElement) {\n var key = getSelectionOffsetKeyForNode(searchNode);\n\n if (key != null) {\n return key;\n }\n\n searchNode = searchNode.parentNode;\n }\n\n return null;\n}\n\nmodule.exports = findAncestorOffsetKey;","\"use strict\";\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\nfunction getCorrectDocumentFromNode(node) {\n if (!node || !node.ownerDocument) {\n return document;\n }\n\n return node.ownerDocument;\n}\n\nmodule.exports = getCorrectDocumentFromNode;","\"use strict\";\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 */\nmodule.exports = {\n BACKSPACE: 8,\n TAB: 9,\n RETURN: 13,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46,\n COMMA: 188,\n PERIOD: 190,\n A: 65,\n Z: 90,\n ZERO: 48,\n NUMPAD_0: 96,\n NUMPAD_9: 105\n};","\"use strict\";\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 */\nvar getStyleProperty = require(\"./getStyleProperty\");\n/**\n * @param {DOMNode} element [description]\n * @param {string} name Overflow style property name.\n * @return {boolean} True if the supplied ndoe is scrollable.\n */\n\n\nfunction _isNodeScrollable(element, name) {\n var overflow = Style.get(element, name);\n return overflow === 'auto' || overflow === 'scroll';\n}\n/**\n * Utilities for querying and mutating style properties.\n */\n\n\nvar Style = {\n /**\n * Gets the style property for the supplied node. This will return either the\n * computed style, if available, or the declared style.\n *\n * @param {DOMNode} node\n * @param {string} name Style property name.\n * @return {?string} Style property value.\n */\n get: getStyleProperty,\n\n /**\n * Determines the nearest ancestor of a node that is scrollable.\n *\n * NOTE: This can be expensive if used repeatedly or on a node nested deeply.\n *\n * @param {?DOMNode} node Node from which to start searching.\n * @return {?DOMWindow|DOMElement} Scroll parent of the supplied node.\n */\n getScrollParent: function getScrollParent(node) {\n if (!node) {\n return null;\n }\n\n var ownerDocument = node.ownerDocument;\n\n while (node && node !== ownerDocument.body) {\n if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return ownerDocument.defaultView || ownerDocument.parentWindow;\n }\n};\nmodule.exports = Style;","/**\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'use strict';\n\nvar getDocumentScrollElement = require(\"./getDocumentScrollElement\");\n\nvar getUnboundedScrollPosition = require(\"./getUnboundedScrollPosition\");\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are bounded. This means that if the scroll position is\n * negative or exceeds the element boundaries (which is possible using inertial\n * scrolling), you will get zero or the maximum scroll position, respectively.\n *\n * If you need the unbound scroll position, use `getUnboundedScrollPosition`.\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\n\nfunction getScrollPosition(scrollable) {\n var documentScrollElement = getDocumentScrollElement(scrollable.ownerDocument || scrollable.document);\n\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n scrollable = documentScrollElement;\n }\n\n var scrollPosition = getUnboundedScrollPosition(scrollable);\n var viewport = scrollable === documentScrollElement ? scrollable.ownerDocument.documentElement : scrollable;\n var xMax = scrollable.scrollWidth - viewport.clientWidth;\n var yMax = scrollable.scrollHeight - viewport.clientHeight;\n scrollPosition.x = Math.max(0, Math.min(scrollPosition.x, xMax));\n scrollPosition.y = Math.max(0, Math.min(scrollPosition.y, yMax));\n return scrollPosition;\n}\n\nmodule.exports = getScrollPosition;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\n/**\n * Utility method for determining whether or not the value returned\n * from a handler indicates that it was handled.\n */\nfunction isEventHandled(value) {\n return value === 'handled' || value === true;\n}\n\nmodule.exports = isEventHandled;","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/**\r\n * DevExtreme (esm/ui/dialog.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Component\r\n} from \"../core/component\";\r\nimport Action from \"../core/action\";\r\nimport devices from \"../core/devices\";\r\nimport config from \"../core/config\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n value as getViewport\r\n} from \"../core/utils/view_port\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport Popup from \"./popup\";\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nvar window = getWindow();\r\nvar DEFAULT_BUTTON = {\r\n text: \"OK\",\r\n onClick: function() {\r\n return true\r\n }\r\n};\r\nvar DX_DIALOG_CLASSNAME = \"dx-dialog\";\r\nvar DX_DIALOG_WRAPPER_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-wrapper\");\r\nvar DX_DIALOG_ROOT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-root\");\r\nvar DX_DIALOG_CONTENT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-content\");\r\nvar DX_DIALOG_MESSAGE_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-message\");\r\nvar DX_DIALOG_BUTTONS_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-buttons\");\r\nvar DX_DIALOG_BUTTON_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-button\");\r\nvar DX_BUTTON_CLASSNAME = \"dx-button\";\r\nexport var FakeDialogComponent = Component.inherit({\r\n ctor: function(element, options) {\r\n this.callBase(options)\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n width: 276\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n lWidth: \"60%\",\r\n pWidth: \"80%\"\r\n }\r\n }])\r\n }\r\n});\r\nexport var title = \"\";\r\nexport var custom = function(options) {\r\n var deferred = new Deferred;\r\n var defaultOptions = (new FakeDialogComponent).option();\r\n options = extend(defaultOptions, options);\r\n var $element = $(\"
\").addClass(DX_DIALOG_CLASSNAME).appendTo(getViewport());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n errors.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var $message = $(\"
\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml);\r\n var popupToolbarItems = [];\r\n each(options.buttons || [DEFAULT_BUTTON], (function() {\r\n var action = new Action(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: devices.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: extend({}, this, {\r\n onClick: function() {\r\n var result = action.execute(...arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n }));\r\n var popupInstance = new Popup($element, extend({\r\n title: options.title || title,\r\n showTitle: ensureDefined(options.showTitle, true),\r\n dragEnabled: ensureDefined(options.dragEnabled, true),\r\n height: \"auto\",\r\n width: function() {\r\n var isPortrait = $(window).height() > $(window).width();\r\n var key = (isPortrait ? \"p\" : \"l\") + \"Width\";\r\n var widthOption = Object.prototype.hasOwnProperty.call(options, key) ? options[key] : options.width;\r\n return isFunction(widthOption) ? widthOption() : widthOption\r\n },\r\n showCloseButton: options.showCloseButton || false,\r\n ignoreChildEvents: false,\r\n onContentReady: function(args) {\r\n args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message)\r\n },\r\n onShowing: function(e) {\r\n e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(\".\".concat(DX_BUTTON_CLASSNAME)).addClass(DX_DIALOG_BUTTON_CLASSNAME);\r\n resetActiveElement()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n eventsEngine.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n toolbarItems: popupToolbarItems,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 400,\r\n to: {\r\n opacity: 0,\r\n scale: 0\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n rtlEnabled: config().rtlEnabled,\r\n boundaryOffset: {\r\n h: 10,\r\n v: 0\r\n }\r\n }, options.popupOptions));\r\n popupInstance.$wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME);\r\n if (options.position) {\r\n popupInstance.option(\"position\", options.position)\r\n }\r\n popupInstance.$wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME);\r\n\r\n function hide(value) {\r\n deferred.resolve(value);\r\n popupInstance.hide().done((function() {\r\n popupInstance.$element().remove()\r\n }))\r\n }\r\n return {\r\n show: function() {\r\n popupInstance.show();\r\n return deferred.promise()\r\n },\r\n hide: hide\r\n }\r\n};\r\nexport var alert = function(messageHtml, title, showTitle) {\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexport var confirm = function(messageHtml, title, showTitle) {\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: messageLocalization.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: messageLocalization.format(\"No\"),\r\n onClick: function() {\r\n return false\r\n }\r\n }],\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\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}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n return str.split(\"\").filter((function(char) {\r\n return \"#\" === char || \"0\" === char\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n if (isPercentFormat(numberFormat)) {\r\n value *= 100\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var roundMultiplier = precisionMultiplier * DECIMAL_BASE;\r\n var intermediateValue = value * roundMultiplier / DECIMAL_BASE;\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers()\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n if (this._dataSource) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataUtils from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return dataUtils.rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return dataUtils.trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/array_compare.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"./type\";\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if (isObject(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nexport var isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexport var findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n }));\r\n newItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n }));\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallback from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferRenderer\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar SCROLLBAR = \"dxScrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"\".concat(SCROLLABLE_SCROLLBAR_CLASS, \"-active\");\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar THUMB_MIN_SIZE = 15;\r\nvar SCROLLBAR_VISIBLE = {\r\n onScroll: \"onScroll\",\r\n onHover: \"onHover\",\r\n always: \"always\",\r\n never: \"never\"\r\n};\r\nvar activeScrollbar = null;\r\nvar Scrollbar = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: null,\r\n visible: false,\r\n activeStateEnabled: false,\r\n visibilityMode: SCROLLBAR_VISIBLE.onScroll,\r\n containerSize: 0,\r\n contentSize: 0,\r\n expandable: true,\r\n scaleRatio: 1\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._isHovered = false\r\n },\r\n _initMarkup: function() {\r\n this._renderThumb();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderDirection();\r\n this._update();\r\n this._attachPointerDownHandler();\r\n this.option(\"hoverStateEnabled\", this._isHoverMode());\r\n this.$element().toggleClass(HOVER_ENABLED_STATE, this.option(\"hoverStateEnabled\"))\r\n },\r\n _renderThumb: function() {\r\n this._$thumb = $(\"
\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n $(\"
\").addClass(SCROLLABLE_SCROLL_CONTENT_CLASS).appendTo(this._$thumb);\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_CLASS).append(this._$thumb)\r\n },\r\n isThumb: function($element) {\r\n return !!this.$element().find($element).length\r\n },\r\n _isHoverMode: function() {\r\n var visibilityMode = this.option(\"visibilityMode\");\r\n return (visibilityMode === SCROLLBAR_VISIBLE.onHover || visibilityMode === SCROLLBAR_VISIBLE.always) && this.option(\"expandable\")\r\n },\r\n _renderDirection: function() {\r\n var direction = this.option(\"direction\");\r\n this.$element().addClass(\"dx-scrollbar-\" + direction);\r\n this._dimension = direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._prop = direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _attachPointerDownHandler: function() {\r\n eventsEngine.on(this._$thumb, addNamespace(pointerEvents.down, SCROLLBAR), this.feedbackOn.bind(this))\r\n },\r\n feedbackOn: function() {\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = this\r\n },\r\n feedbackOff: function() {\r\n this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = null\r\n },\r\n cursorEnter: function() {\r\n this._isHovered = true;\r\n if (this._needScrollbar()) {\r\n this.option(\"visible\", true)\r\n }\r\n },\r\n cursorLeave: function() {\r\n this._isHovered = false;\r\n this.option(\"visible\", false)\r\n },\r\n _renderDimensions: function() {\r\n this._$thumb.css({\r\n width: this.option(\"width\"),\r\n height: this.option(\"height\")\r\n })\r\n },\r\n _toggleVisibility: function(visible) {\r\n if (this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.onScroll) {\r\n this._$thumb.css(\"opacity\")\r\n }\r\n visible = this._adjustVisibility(visible);\r\n this.option().visible = visible;\r\n this._$thumb.toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _adjustVisibility: function(visible) {\r\n if (this._baseContainerToContentRatio && !this._needScrollbar()) {\r\n return false\r\n }\r\n switch (this.option(\"visibilityMode\")) {\r\n case SCROLLBAR_VISIBLE.onScroll:\r\n break;\r\n case SCROLLBAR_VISIBLE.onHover:\r\n visible = visible || !!this._isHovered;\r\n break;\r\n case SCROLLBAR_VISIBLE.never:\r\n visible = false;\r\n break;\r\n case SCROLLBAR_VISIBLE.always:\r\n visible = true\r\n }\r\n return visible\r\n },\r\n moveTo: function(location) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n if (isPlainObject(location)) {\r\n location = location[this._prop] || 0\r\n }\r\n var scrollBarLocation = {};\r\n scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location);\r\n move(this._$thumb, scrollBarLocation)\r\n },\r\n _calculateScrollBarPosition: function(location) {\r\n return -location * this._thumbRatio\r\n },\r\n _update: function() {\r\n var containerSize = Math.round(this.option(\"containerSize\"));\r\n var contentSize = Math.round(this.option(\"contentSize\"));\r\n var baseContainerSize = Math.round(this.option(\"baseContainerSize\"));\r\n var baseContentSize = Math.round(this.option(\"baseContentSize\"));\r\n if (isNaN(baseContainerSize)) {\r\n baseContainerSize = containerSize;\r\n baseContentSize = contentSize\r\n }\r\n this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize;\r\n this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize;\r\n var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), THUMB_MIN_SIZE));\r\n this._thumbRatio = (containerSize - thumbSize) / (this.option(\"scaleRatio\") * (contentSize - containerSize));\r\n this.option(this._dimension, thumbSize / this.option(\"scaleRatio\"));\r\n this.$element().css(\"display\", this._needScrollbar() ? \"\" : \"none\")\r\n },\r\n _isHidden: function() {\r\n return this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.never\r\n },\r\n _needScrollbar: function() {\r\n return !this._isHidden() && this._baseContainerToContentRatio < 1\r\n },\r\n containerToContentRatio: function() {\r\n return this._realContainerToContentRatio\r\n },\r\n _normalizeSize: function(size) {\r\n return isPlainObject(size) ? size[this._dimension] || 0 : size\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n if (this === activeScrollbar) {\r\n activeScrollbar = null\r\n }\r\n eventsEngine.off(this._$thumb, \".\" + SCROLLBAR)\r\n },\r\n _optionChanged: function(args) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"containerSize\":\r\n case \"contentSize\":\r\n this.option()[args.name] = this._normalizeSize(args.value);\r\n this._update();\r\n break;\r\n case \"baseContentSize\":\r\n case \"baseContainerSize\":\r\n this._update();\r\n break;\r\n case \"visibilityMode\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"scaleRatio\":\r\n this._update();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n update: deferRenderer((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\nreadyCallback.add((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace(pointerEvents.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nexport default Scrollbar;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/animator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nvar Animator = Class.inherit({\r\n ctor: function() {\r\n this._finished = true;\r\n this._stopped = false;\r\n this._proxiedStepCore = this._stepCore.bind(this)\r\n },\r\n start: function() {\r\n this._stopped = false;\r\n this._finished = false;\r\n this._stepCore()\r\n },\r\n stop: function() {\r\n this._stopped = true;\r\n cancelAnimationFrame(this._stepAnimationFrame)\r\n },\r\n _stepCore: function() {\r\n if (this._isStopped()) {\r\n this._stop();\r\n return\r\n }\r\n if (this._isFinished()) {\r\n this._finished = true;\r\n this._complete();\r\n return\r\n }\r\n this._step();\r\n this._stepAnimationFrame = requestAnimationFrame(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: noop,\r\n _stop: noop,\r\n _complete: noop,\r\n _isStopped: function() {\r\n return this._stopped\r\n },\r\n inProgress: function() {\r\n return !(this._stopped || this._finished)\r\n }\r\n});\r\nexport default Animator;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n deferUpdate,\r\n deferRender,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"./ui.events.emitter.gesture.scroll\";\r\nimport {\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"./ui.scrollable.device\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLABLE = \"dxScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_CLASS = \"dx-scrollable\";\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar BOTH = \"both\";\r\nvar Scrollable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n onScroll: null,\r\n direction: VERTICAL,\r\n showScrollbar: \"onScroll\",\r\n useNative: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n onUpdated: null,\r\n onStart: null,\r\n onEnd: null,\r\n onBounce: null,\r\n useSimulatedScrollbar: false,\r\n useKeyboard: true,\r\n inertiaEnabled: true,\r\n updateManually: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return nativeScrolling && \"android\" === devices.real().platform && !browser.mozilla\r\n },\r\n options: {\r\n useSimulatedScrollbar: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n if (!(\"useSimulatedScrollbar\" in options)) {\r\n this._setUseSimulatedScrollbar()\r\n }\r\n },\r\n _setUseSimulatedScrollbar: function() {\r\n if (!this.initialOption(\"useSimulatedScrollbar\")) {\r\n this.option(\"useSimulatedScrollbar\", !this.option(\"useNative\"))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initScrollableMarkup();\r\n this._locked = false\r\n },\r\n _getWindowDevicePixelRatio: function() {\r\n return hasWindow() ? getWindow().devicePixelRatio : 1\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.update();\r\n this._updateRtlPosition();\r\n this._savedScrollOffset && this.scrollTo(this._savedScrollOffset);\r\n delete this._savedScrollOffset\r\n } else {\r\n this._savedScrollOffset = this.scrollOffset()\r\n }\r\n },\r\n _initScrollableMarkup: function() {\r\n var $element = this.$element().addClass(SCROLLABLE_CLASS);\r\n var $container = this._$container = $(\"
\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = $(\"
\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = $(\"
\").addClass(SCROLLABLE_CONTENT_CLASS);\r\n if (domAdapter.hasDocumentProperty(\"onbeforeactivate\") && browser.msie && browser.version < 12) {\r\n eventsEngine.on($element, addNamespace(\"beforeactivate\", SCROLLABLE), (function(e) {\r\n if (!$(e.target).is(focusable)) {\r\n e.preventDefault()\r\n }\r\n }))\r\n }\r\n $content.append($element.contents()).appendTo($container);\r\n $container.appendTo($wrapper);\r\n $wrapper.appendTo($element)\r\n },\r\n _dimensionChanged: function() {\r\n this.update();\r\n this._updateRtlPosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderDirection()\r\n },\r\n _render: function() {\r\n this._renderStrategy();\r\n this._attachEventHandlers();\r\n this._renderDisabledState();\r\n this._createActions();\r\n this.update();\r\n this.callBase();\r\n this._rtlConfig = {\r\n scrollRight: 0,\r\n clientWidth: this._container().get(0).clientWidth,\r\n windowPixelRatio: this._getWindowDevicePixelRatio()\r\n };\r\n this._updateRtlPosition()\r\n },\r\n _isHorizontalAndRtlEnabled: function() {\r\n return this.option(\"rtlEnabled\") && this.option(\"direction\") !== VERTICAL\r\n },\r\n _updateRtlPosition: function() {\r\n this._updateBounds();\r\n if (this._isHorizontalAndRtlEnabled()) {\r\n deferUpdate(() => {\r\n var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight;\r\n if (scrollLeft <= 0) {\r\n scrollLeft = 0;\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left\r\n }\r\n deferRender(() => {\r\n if (this.scrollLeft() !== scrollLeft) {\r\n this._rtlConfig.skipUpdating = true;\r\n this.scrollTo({\r\n left: scrollLeft\r\n });\r\n this._rtlConfig.skipUpdating = false\r\n }\r\n })\r\n })\r\n }\r\n },\r\n _getMaxOffset: function() {\r\n var {\r\n scrollWidth: scrollWidth,\r\n clientWidth: clientWidth,\r\n scrollHeight: scrollHeight,\r\n clientHeight: clientHeight\r\n } = this._container().get(0);\r\n return {\r\n left: scrollWidth - clientWidth,\r\n top: scrollHeight - clientHeight\r\n }\r\n },\r\n _updateBounds: function() {\r\n this._strategy.updateBounds()\r\n },\r\n _attachEventHandlers: function() {\r\n var strategy = this._strategy;\r\n var initEventData = {\r\n getDirection: strategy.getDirection.bind(strategy),\r\n validate: this._validate.bind(this),\r\n isNative: this.option(\"useNative\"),\r\n scrollTarget: this._$container\r\n };\r\n eventsEngine.off(this._$wrapper, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$container, addNamespace(\"scroll\", SCROLLABLE), strategy.handleScroll.bind(strategy))\r\n },\r\n _updateRtlConfig: function() {\r\n if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) {\r\n var {\r\n clientWidth: clientWidth,\r\n scrollLeft: scrollLeft\r\n } = this._container().get(0);\r\n var windowPixelRatio = this._getWindowDevicePixelRatio();\r\n if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) {\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft\r\n }\r\n this._rtlConfig.clientWidth = clientWidth;\r\n this._rtlConfig.windowPixelRatio = windowPixelRatio\r\n }\r\n },\r\n _validate: function(e) {\r\n if (this._isLocked()) {\r\n return false\r\n }\r\n this._updateIfNeed();\r\n return this._strategy.validate(e)\r\n },\r\n _initHandler: function() {\r\n var strategy = this._strategy;\r\n strategy.handleInit.apply(strategy, arguments)\r\n },\r\n _renderDisabledState: function() {\r\n this.$element().toggleClass(SCROLLABLE_DISABLED_CLASS, this.option(\"disabled\"));\r\n if (this.option(\"disabled\")) {\r\n this._lock()\r\n } else {\r\n this._unlock()\r\n }\r\n },\r\n _renderDirection: function() {\r\n this.$element().removeClass(\"dx-scrollable-\" + HORIZONTAL).removeClass(\"dx-scrollable-\" + VERTICAL).removeClass(\"dx-scrollable-\" + BOTH).addClass(\"dx-scrollable-\" + this.option(\"direction\"))\r\n },\r\n _renderStrategy: function() {\r\n this._createStrategy();\r\n this._strategy.render();\r\n this.$element().data(SCROLLABLE_STRATEGY, this._strategy)\r\n },\r\n _createStrategy: function() {\r\n this._strategy = this.option(\"useNative\") ? new NativeStrategy(this) : new SimulatedStrategy(this)\r\n },\r\n _createActions: function() {\r\n this._strategy && this._strategy.createActions()\r\n },\r\n _clean: function() {\r\n this._strategy && this._strategy.dispose()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onStart\":\r\n case \"onEnd\":\r\n case \"onUpdated\":\r\n case \"onScroll\":\r\n case \"onBounce\":\r\n this._createActions();\r\n break;\r\n case \"direction\":\r\n this._resetInactiveDirection();\r\n this._invalidate();\r\n break;\r\n case \"useNative\":\r\n this._setUseSimulatedScrollbar();\r\n this._invalidate();\r\n break;\r\n case \"inertiaEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"bounceEnabled\":\r\n case \"useKeyboard\":\r\n case \"showScrollbar\":\r\n case \"useSimulatedScrollbar\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n this._renderDisabledState();\r\n this._strategy && this._strategy.disabledChanged();\r\n break;\r\n case \"updateManually\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._updateRtlPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetInactiveDirection: function() {\r\n var inactiveProp = this._getInactiveProp();\r\n if (!inactiveProp || !hasWindow()) {\r\n return\r\n }\r\n var scrollOffset = this.scrollOffset();\r\n scrollOffset[inactiveProp] = 0;\r\n this.scrollTo(scrollOffset)\r\n },\r\n _getInactiveProp: function() {\r\n var direction = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return \"left\"\r\n }\r\n if (direction === HORIZONTAL) {\r\n return \"top\"\r\n }\r\n },\r\n _location: function() {\r\n return this._strategy.location()\r\n },\r\n _normalizeLocation: function(location) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? -left : void 0,\r\n top: isDefined(top) ? -top : void 0\r\n }\r\n } else {\r\n var direction = this.option(\"direction\");\r\n return {\r\n left: direction !== VERTICAL ? -location : void 0,\r\n top: direction !== HORIZONTAL ? -location : void 0\r\n }\r\n }\r\n },\r\n _isLocked: function() {\r\n return this._locked\r\n },\r\n _lock: function() {\r\n this._locked = true\r\n },\r\n _unlock: function() {\r\n if (!this.option(\"disabled\")) {\r\n this._locked = false\r\n }\r\n },\r\n _isDirection: function(direction) {\r\n var current = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return current !== HORIZONTAL\r\n }\r\n if (direction === HORIZONTAL) {\r\n return current !== VERTICAL\r\n }\r\n return current === direction\r\n },\r\n _updateAllowedDirection: function() {\r\n var allowedDirections = this._strategy._allowedDirections();\r\n if (this._isDirection(BOTH) && allowedDirections.vertical && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = BOTH\r\n } else if (this._isDirection(HORIZONTAL) && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = HORIZONTAL\r\n } else if (this._isDirection(VERTICAL) && allowedDirections.vertical) {\r\n this._allowedDirectionValue = VERTICAL\r\n } else {\r\n this._allowedDirectionValue = null\r\n }\r\n },\r\n _allowedDirection: function() {\r\n return this._allowedDirectionValue\r\n },\r\n _container: function() {\r\n return this._$container\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n scrollOffset: function() {\r\n return this._getScrollOffset()\r\n },\r\n _getScrollOffset() {\r\n return {\r\n top: -this._location().top,\r\n left: -this._location().left\r\n }\r\n },\r\n scrollTop: function() {\r\n return this.scrollOffset().top\r\n },\r\n scrollLeft: function() {\r\n return this.scrollOffset().left\r\n },\r\n clientHeight: function() {\r\n return this._$container.height()\r\n },\r\n scrollHeight: function() {\r\n return this.$content().outerHeight()\r\n },\r\n clientWidth: function() {\r\n return this._$container.width()\r\n },\r\n scrollWidth: function() {\r\n return this.$content().outerWidth()\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return when(this._strategy.update()).done(function() {\r\n this._updateAllowedDirection()\r\n }.bind(this))\r\n },\r\n scrollBy: function(distance) {\r\n distance = this._normalizeLocation(distance);\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._updateIfNeed();\r\n this._strategy.scrollBy(distance);\r\n this._updateRtlConfig()\r\n },\r\n scrollTo: function(targetLocation) {\r\n targetLocation = this._normalizeLocation(targetLocation);\r\n this._updateIfNeed();\r\n var location = this._location();\r\n if (!this.option(\"useNative\")) {\r\n targetLocation = this._strategy._applyScaleRatio(targetLocation);\r\n location = this._strategy._applyScaleRatio(location)\r\n }\r\n var distance = this._normalizeLocation({\r\n left: location.left - ensureDefined(targetLocation.left, location.left),\r\n top: location.top - ensureDefined(targetLocation.top, location.top)\r\n });\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._strategy.scrollBy(distance);\r\n this._updateRtlConfig()\r\n },\r\n scrollToElement: function(element, offset) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n scrollPosition.left = this.getScrollElementPosition($element, HORIZONTAL, offset)\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this.getScrollElementPosition($element, VERTICAL, offset)\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n scrollToElementTopLeft: function(element) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n var leftPosition = this._elementPositionRelativeToContent($element, \"left\");\r\n scrollPosition.left = true === this.option(\"rtlEnabled\") ? leftPosition + $element.width() - this.clientWidth() : leftPosition\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this._elementPositionRelativeToContent($element, \"top\")\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n getScrollElementPosition: function($element, direction, offset) {\r\n offset = offset || {};\r\n var isVertical = direction === VERTICAL;\r\n var startOffset = (isVertical ? offset.top : offset.left) || 0;\r\n var endOffset = (isVertical ? offset.bottom : offset.right) || 0;\r\n var elementPositionRelativeToContent = this._elementPositionRelativeToContent($element, isVertical ? \"top\" : \"left\");\r\n var elementPosition = elementPositionRelativeToContent;\r\n var elementSize = $element[isVertical ? \"outerHeight\" : \"outerWidth\"]();\r\n var scrollLocation = isVertical ? this.scrollTop() : this.scrollLeft();\r\n var clientSize = this._container().get(0)[isVertical ? \"clientHeight\" : \"clientWidth\"];\r\n var startDistance = scrollLocation - elementPosition + startOffset;\r\n var endDistance = scrollLocation - elementPosition - elementSize + clientSize - endOffset;\r\n if (startDistance <= 0 && endDistance >= 0) {\r\n return scrollLocation\r\n }\r\n return scrollLocation - (Math.abs(startDistance) > Math.abs(endDistance) ? endDistance : startDistance)\r\n },\r\n _elementPositionRelativeToContent: function($element, prop) {\r\n var result = 0;\r\n while (this._hasScrollContent($element)) {\r\n result += $element.position()[prop];\r\n $element = $element.offsetParent()\r\n }\r\n return result\r\n },\r\n _hasScrollContent: function($element) {\r\n var $content = this.$content();\r\n return $element.closest($content).length && !$element.is($content)\r\n },\r\n _updateIfNeed: function() {\r\n if (!this.option(\"updateManually\")) {\r\n this.update()\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(SCROLLABLE, Scrollable);\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n nativeScrolling,\r\n touch\r\n} from \"../../core/utils/support\";\r\nexport var deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../core/utils/type\";\r\nvar isCorrectStructure = data => Array.isArray(data) && data.every(item => {\r\n var hasTwoFields = 2 === Object.keys(item).length;\r\n var hasCorrectFields = \"key\" in item && \"items\" in item;\r\n return hasTwoFields && hasCorrectFields && Array.isArray(item.items)\r\n});\r\nexport default {\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n var hasSimpleItems = false;\r\n var data = {};\r\n if (this._getGroupedOption() && isCorrectStructure(dataSource)) {\r\n data = dataSource.reduce((accumulator, item) => {\r\n var items = item.items.map(innerItem => {\r\n if (!isObject(innerItem)) {\r\n innerItem = {\r\n text: innerItem\r\n };\r\n hasSimpleItems = true\r\n }\r\n if (!(\"key\" in innerItem)) {\r\n innerItem.key = item.key\r\n }\r\n return innerItem\r\n });\r\n return accumulator.concat(items)\r\n }, []);\r\n dataSource = {\r\n store: {\r\n type: \"array\",\r\n data: data\r\n },\r\n group: {\r\n selector: \"key\",\r\n keepInitialKeyOrder: true\r\n }\r\n };\r\n if (hasSimpleItems) {\r\n dataSource.searchExpr = \"text\"\r\n }\r\n }\r\n return dataSource\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/check_box.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport Editor from \"./editor/editor\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nvar CHECKBOX_CLASS = \"dx-checkbox\";\r\nvar CHECKBOX_ICON_CLASS = \"dx-checkbox-icon\";\r\nvar CHECKBOX_CHECKED_CLASS = \"dx-checkbox-checked\";\r\nvar CHECKBOX_CONTAINER_CLASS = \"dx-checkbox-container\";\r\nvar CHECKBOX_TEXT_CLASS = \"dx-checkbox-text\";\r\nvar CHECKBOX_HAS_TEXT_CLASS = \"dx-checkbox-has-text\";\r\nvar CHECKBOX_INDETERMINATE_CLASS = \"dx-checkbox-indeterminate\";\r\nvar CHECKBOX_FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar CheckBox = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false,\r\n text: \"\",\r\n useInkRipple: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _feedbackHideTimeout: CHECKBOX_FEEDBACK_HIDE_TIMEOUT,\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this._$container = $(\"
\").addClass(CHECKBOX_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"checkbox\");\r\n this.$element().addClass(CHECKBOX_CLASS);\r\n this._renderValue();\r\n this._renderIcon();\r\n this._renderText();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.$element().append(this._$container);\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this._renderClick();\r\n this.callBase()\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render({\r\n waveSizeCoefficient: 2.5,\r\n useHoldAnimation: false,\r\n wavesNumber: 2,\r\n isCentered: true\r\n })\r\n },\r\n _renderInkWave: function(element, dxEvent, doRender, waveIndex) {\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: element,\r\n event: dxEvent,\r\n wave: waveIndex\r\n };\r\n if (doRender) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _updateFocusState: function(e, value) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 0)\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 1)\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"\").addClass(CHECKBOX_ICON_CLASS).prependTo(this._$container)\r\n },\r\n _renderText: function() {\r\n var textValue = this.option(\"text\");\r\n if (!textValue) {\r\n if (this._$text) {\r\n this._$text.remove();\r\n this.$element().removeClass(CHECKBOX_HAS_TEXT_CLASS)\r\n }\r\n return\r\n }\r\n if (!this._$text) {\r\n this._$text = $(\"\").addClass(CHECKBOX_TEXT_CLASS)\r\n }\r\n this._$text.text(textValue);\r\n this._$container.append(this._$text);\r\n this.$element().addClass(CHECKBOX_HAS_TEXT_CLASS)\r\n },\r\n _renderClick: function() {\r\n var that = this;\r\n var eventName = addNamespace(clickEventName, that.NAME);\r\n that._clickAction = that._createAction(that._clickHandler);\r\n eventsEngine.off(that.$element(), eventName);\r\n eventsEngine.on(that.$element(), eventName, (function(e) {\r\n that._clickAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _clickHandler: function(args) {\r\n var that = args.component;\r\n that._saveValueChangeEvent(args.event);\r\n that.option(\"value\", !that.option(\"value\"))\r\n },\r\n _renderValue: function() {\r\n var $element = this.$element();\r\n var checked = this.option(\"value\");\r\n var indeterminate = void 0 === checked;\r\n $element.toggleClass(CHECKBOX_CHECKED_CLASS, Boolean(checked));\r\n $element.toggleClass(CHECKBOX_INDETERMINATE_CLASS, indeterminate);\r\n this._getSubmitElement().val(checked);\r\n this.setAria(\"checked\", indeterminate ? \"mixed\" : checked || \"false\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n this._renderValue();\r\n this.callBase(args);\r\n break;\r\n case \"text\":\r\n this._renderText();\r\n this._renderDimensions();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxCheckBox\", CheckBox);\r\nexport default CheckBox;\r\n","'use strict';\n\nvar reactIs = require('react-is');\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 contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\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};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\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 var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n */\n'use strict';\n\nvar AtomicBlockUtils = require(\"./AtomicBlockUtils\");\n\nvar BlockMapBuilder = require(\"./BlockMapBuilder\");\n\nvar CharacterMetadata = require(\"./CharacterMetadata\");\n\nvar CompositeDraftDecorator = require(\"./CompositeDraftDecorator\");\n\nvar ContentBlock = require(\"./ContentBlock\");\n\nvar ContentState = require(\"./ContentState\");\n\nvar DefaultDraftBlockRenderMap = require(\"./DefaultDraftBlockRenderMap\");\n\nvar DefaultDraftInlineStyle = require(\"./DefaultDraftInlineStyle\");\n\nvar DraftEditor = require(\"./DraftEditor.react\");\n\nvar DraftEditorBlock = require(\"./DraftEditorBlock.react\");\n\nvar DraftEntity = require(\"./DraftEntity\");\n\nvar DraftModifier = require(\"./DraftModifier\");\n\nvar DraftEntityInstance = require(\"./DraftEntityInstance\");\n\nvar EditorState = require(\"./EditorState\");\n\nvar KeyBindingUtil = require(\"./KeyBindingUtil\");\n\nvar RawDraftContentState = require(\"./RawDraftContentState\");\n\nvar RichTextEditorUtil = require(\"./RichTextEditorUtil\");\n\nvar SelectionState = require(\"./SelectionState\");\n\nvar convertFromDraftStateToRaw = require(\"./convertFromDraftStateToRaw\");\n\nvar convertFromRawToDraftState = require(\"./convertFromRawToDraftState\");\n\nvar generateRandomKey = require(\"./generateRandomKey\");\n\nvar getDefaultKeyBinding = require(\"./getDefaultKeyBinding\");\n\nvar getVisibleSelectionRect = require(\"./getVisibleSelectionRect\");\n\nvar convertFromHTML = require(\"./convertFromHTMLToContentBlocks\");\n\nvar DraftPublic = {\n Editor: DraftEditor,\n EditorBlock: DraftEditorBlock,\n EditorState: EditorState,\n CompositeDecorator: CompositeDraftDecorator,\n Entity: DraftEntity,\n EntityInstance: DraftEntityInstance,\n BlockMapBuilder: BlockMapBuilder,\n CharacterMetadata: CharacterMetadata,\n ContentBlock: ContentBlock,\n ContentState: ContentState,\n RawDraftContentState: RawDraftContentState,\n SelectionState: SelectionState,\n AtomicBlockUtils: AtomicBlockUtils,\n KeyBindingUtil: KeyBindingUtil,\n Modifier: DraftModifier,\n RichUtils: RichTextEditorUtil,\n DefaultDraftBlockRenderMap: DefaultDraftBlockRenderMap,\n DefaultDraftInlineStyle: DefaultDraftInlineStyle,\n convertFromHTML: convertFromHTML,\n convertFromRaw: convertFromRawToDraftState,\n convertToRaw: convertFromDraftStateToRaw,\n genKey: generateRandomKey,\n getDefaultKeyBinding: getDefaultKeyBinding,\n getVisibleSelectionRect: getVisibleSelectionRect\n};\nmodule.exports = DraftPublic;","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction leftPad(text, length) {\r\n while (text.length < length) {\r\n text = \"0\" + text\r\n }\r\n return text\r\n}\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar LDML_FORMATTERS = {\r\n y: function(date, count, useUtc) {\r\n var year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\r\n if (2 === count) {\r\n year %= 100\r\n }\r\n return leftPad(year.toString(), count)\r\n },\r\n M: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"format\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n L: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"standalone\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n Q: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var quarter = Math.floor(month / 3);\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getQuarterNames(formatType)[quarter]\r\n }\r\n return leftPad((quarter + 1).toString(), Math.min(count, 2))\r\n },\r\n E: function(date, count, useUtc, dateParts) {\r\n var day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\r\n var formatType = FORMAT_TYPES[count < 3 ? 3 : count];\r\n return dateParts.getDayNames(formatType)[day]\r\n },\r\n a: function(date, count, useUtc, dateParts) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n var period = hours < 12 ? 0 : 1;\r\n var formatType = FORMAT_TYPES[count];\r\n return dateParts.getPeriodNames(formatType)[period]\r\n },\r\n d: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2))\r\n },\r\n H: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2))\r\n },\r\n h: function(date, count, useUtc) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2))\r\n },\r\n m: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2))\r\n },\r\n s: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2))\r\n },\r\n S: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count)\r\n },\r\n x: function(date, count, useUtc) {\r\n var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\r\n var signPart = timezoneOffset > 0 ? \"-\" : \"+\";\r\n var timezoneOffsetAbs = Math.abs(timezoneOffset);\r\n var hours = Math.floor(timezoneOffsetAbs / 60);\r\n var minutes = timezoneOffsetAbs % 60;\r\n var hoursPart = leftPad(hours.toString(), 2);\r\n var minutesPart = leftPad(minutes.toString(), 2);\r\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\")\r\n },\r\n X: function(date, count, useUtc) {\r\n if (useUtc || !date.getTimezoneOffset()) {\r\n return \"Z\"\r\n }\r\n return LDML_FORMATTERS.x(date, count, useUtc)\r\n },\r\n Z: function(date, count, useUtc) {\r\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc)\r\n }\r\n};\r\nexport var getFormatter = function(format, dateParts) {\r\n return function(date) {\r\n var charIndex;\r\n var formatter;\r\n var char;\r\n var charCount = 0;\r\n var isEscaping = false;\r\n var isCurrentCharEqualsNext;\r\n var result = \"\";\r\n if (!date) {\r\n return null\r\n }\r\n if (!format) {\r\n return date\r\n }\r\n var useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\r\n for (charIndex = 0; charIndex < format.length; charIndex++) {\r\n char = format[charIndex];\r\n formatter = LDML_FORMATTERS[char];\r\n isCurrentCharEqualsNext = char === format[charIndex + 1];\r\n charCount++;\r\n if (!isCurrentCharEqualsNext) {\r\n if (formatter && !isEscaping) {\r\n result += formatter(date, charCount, useUtc, dateParts)\r\n }\r\n charCount = 0\r\n }\r\n if (\"'\" === char && !isCurrentCharEqualsNext) {\r\n isEscaping = !isEscaping\r\n } else if (isEscaping || !formatter) {\r\n result += char\r\n }\r\n if (\"'\" === char && isCurrentCharEqualsNext) {\r\n charIndex++\r\n }\r\n }\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport numberLocalization from \"../number\";\r\nvar ARABIC_COMMA = \"\\u060c\";\r\nvar FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\" + ARABIC_COMMA;\r\nvar AM_PM_PATTERN = \". m.\";\r\nvar checkDigit = function(char) {\r\n var code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\r\n return zeroCode <= code && code < zeroCode + 10\r\n};\r\nvar checkPatternContinue = function(text, patterns, index, isDigit) {\r\n var char = text[index];\r\n var nextChar = text[index + 1];\r\n if (!isDigit) {\r\n if (\".\" === char || \" \" === char && text.slice(index - 1, index + 3) === AM_PM_PATTERN) {\r\n return true\r\n }\r\n if (\"-\" === char && !checkDigit(nextChar)) {\r\n return true\r\n }\r\n }\r\n var isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\r\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged)\r\n};\r\nvar getPatternStartIndex = function(defaultPattern, index) {\r\n if (!checkDigit(defaultPattern[index])) {\r\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\r\n index--\r\n }\r\n }\r\n return index\r\n};\r\nvar getDifference = function(defaultPattern, patterns, processedIndexes, isDigit) {\r\n var i = 0;\r\n var result = [];\r\n var patternsFilter = function(pattern) {\r\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit)\r\n };\r\n if (!Array.isArray(patterns)) {\r\n patterns = [patterns]\r\n }\r\n for (i = 0; i < defaultPattern.length; i++) {\r\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\r\n i = getPatternStartIndex(defaultPattern, i);\r\n do {\r\n isDigit = checkDigit(defaultPattern[i]);\r\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\r\n break\r\n }\r\n result.push(i);\r\n processedIndexes.unshift(i);\r\n i++\r\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\r\n break\r\n }\r\n }\r\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\r\n processedIndexes.unshift(processedIndexes[0] - 1)\r\n }\r\n return result\r\n};\r\nvar replaceCharsCore = function(pattern, indexes, char, patternPositions) {\r\n var baseCharIndex = indexes[0];\r\n var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\r\n indexes.forEach((function(_, index) {\r\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1)\r\n }));\r\n if (1 === indexes.length) {\r\n pattern = pattern.replace(\"0\" + char, char + char);\r\n pattern = pattern.replace(\"\\u0660\" + char, char + char)\r\n }\r\n return pattern\r\n};\r\nvar replaceChars = function(pattern, indexes, char, patternPositions) {\r\n var i;\r\n var index;\r\n var patternIndex;\r\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\r\n var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\r\n while (indexes.length > letterCount) {\r\n index = indexes.pop();\r\n patternIndex = patternPositions[index];\r\n patternPositions[index] = -1;\r\n for (i = index + 1; i < patternPositions.length; i++) {\r\n patternPositions[i]--\r\n }\r\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1)\r\n }\r\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\r\n while (indexes.length < letterCount) {\r\n indexes.push(indexes[indexes.length - 1] + 1);\r\n for (i = index; i < patternPositions.length; i++) {\r\n patternPositions[i]++\r\n }\r\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex)\r\n }\r\n }\r\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\r\n return pattern\r\n};\r\nvar formatValue = function(value, formatter) {\r\n if (Array.isArray(value)) {\r\n return value.map((function(value) {\r\n return (formatter(value) || \"\").toString()\r\n }))\r\n }\r\n return (formatter(value) || \"\").toString()\r\n};\r\nvar ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\r\nvar escapeChars = function(pattern, defaultPattern, processedIndexes, patternPositions) {\r\n var escapeIndexes = defaultPattern.split(\"\").map((function(char, index) {\r\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\r\n return patternPositions[index]\r\n }\r\n return -1\r\n }));\r\n pattern = pattern.split(\"\").map((function(char, index) {\r\n var result = char;\r\n var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\r\n var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\r\n var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\r\n if (isCurrentCharEscaped) {\r\n if (!isPrevCharEscaped) {\r\n result = \"'\" + result\r\n }\r\n if (!isNextCharEscaped) {\r\n result += \"'\"\r\n }\r\n }\r\n return result\r\n })).join(\"\");\r\n return pattern\r\n};\r\nexport var getFormat = function(formatter) {\r\n var processedIndexes = [];\r\n var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\r\n var patternPositions = defaultPattern.split(\"\").map((function(_, index) {\r\n return index\r\n }));\r\n var result = defaultPattern;\r\n var replacedPatterns = {};\r\n var datePatterns = [{\r\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\r\n pattern: \"S\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 5, 2),\r\n pattern: \"s\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 2, 4),\r\n pattern: \"m\"\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"H\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 2, 5, 4),\r\n pattern: \"h\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"a\",\r\n isDigit: false\r\n }, {\r\n date: new Date(2009, 8, 1, 6, 5, 4),\r\n pattern: \"d\"\r\n }, {\r\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\r\n pattern: \"E\"\r\n }, {\r\n date: new Date(2009, 9, 6, 6, 5, 4),\r\n pattern: \"M\"\r\n }, {\r\n date: new Date(1998, 8, 8, 6, 5, 4),\r\n pattern: \"y\"\r\n }];\r\n if (!result) {\r\n return\r\n }\r\n datePatterns.forEach((function(test) {\r\n var diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\r\n var pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\r\n result = replaceChars(result, diff, pattern, patternPositions);\r\n replacedPatterns[pattern] = diff.length\r\n }));\r\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\r\n if (processedIndexes.length) {\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport query from \"../../data/query\";\r\nimport EditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar SELECTION_SHIFT = 20;\r\nvar SELECTION_MASK = (1 << SELECTION_SHIFT) - 1;\r\nvar combineIndex = function(indices) {\r\n return (indices.group << SELECTION_SHIFT) + indices.item\r\n};\r\nvar splitIndex = function(combinedIndex) {\r\n return {\r\n group: combinedIndex >> SELECTION_SHIFT,\r\n item: combinedIndex & SELECTION_MASK\r\n }\r\n};\r\nvar GroupedEditStrategy = EditStrategy.inherit({\r\n _groupElements: function() {\r\n return this._collectionWidget._itemContainer().find(\".\" + LIST_GROUP_CLASS)\r\n },\r\n _groupItemElements: function($group) {\r\n return $group.find(\".\" + LIST_ITEM_CLASS)\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var groups = this._collectionWidget.option(\"items\");\r\n var index = false;\r\n if (!itemData) {\r\n return false\r\n }\r\n if (itemData.items && itemData.items.length) {\r\n itemData = itemData.items[0]\r\n }\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n if (item !== itemData) {\r\n return true\r\n }\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }));\r\n if (index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n getItemDataByIndex: function(index) {\r\n var items = this._collectionWidget.option(\"items\");\r\n if (isNumeric(index)) {\r\n return this.itemsGetter()[index]\r\n }\r\n return index && items[index.group] && items[index.group].items[index.item] || null\r\n },\r\n itemsGetter: function() {\r\n var resultItems = [];\r\n var items = this._collectionWidget.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n resultItems = resultItems.concat(items[i].items)\r\n } else {\r\n resultItems.push(items[i])\r\n }\r\n }\r\n return resultItems\r\n },\r\n deleteItemAtIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var itemGroup = this._collectionWidget.option(\"items\")[indices.group].items;\r\n itemGroup.splice(indices.item, 1)\r\n },\r\n getKeysByItems: function(items) {\r\n var plainItems = [];\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n var result = [];\r\n for (i = 0; i < plainItems.length; i++) {\r\n result.push(this._collectionWidget.keyOf(plainItems[i]))\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key, items) {\r\n var groups = items || this._collectionWidget.option(\"items\");\r\n var index = -1;\r\n var that = this;\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }\r\n var keys = that.getKeysByItems(group.items);\r\n each(keys, (function(keyIndex, itemKey) {\r\n if (that._equalKeys(itemKey, key)) {\r\n index = {\r\n group: groupIndex,\r\n item: keyIndex\r\n };\r\n return false\r\n }\r\n }));\r\n if (-1 !== index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n _getGroups: function(items) {\r\n var dataSource = this._collectionWidget.getDataSource();\r\n var group = dataSource && dataSource.group();\r\n if (group) {\r\n return storeHelper.queryByOptions(query(items), {\r\n group: group\r\n }).toArray()\r\n }\r\n return this._collectionWidget.option(\"items\")\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n var result = [];\r\n each(keys, function(_, key) {\r\n var getItemMeta = function(groups) {\r\n var index = this.getIndexByKey(key, groups);\r\n var group = index && groups[index.group];\r\n if (!group) {\r\n return\r\n }\r\n return {\r\n groupKey: group.key,\r\n item: group.items[index.item]\r\n }\r\n }.bind(this);\r\n var itemMeta = getItemMeta(this._getGroups(items));\r\n if (!itemMeta) {\r\n return\r\n }\r\n var groupKey = itemMeta.groupKey;\r\n var item = itemMeta.item;\r\n var selectedGroup;\r\n each(result, (function(_, item) {\r\n if (item.key === groupKey) {\r\n selectedGroup = item;\r\n return false\r\n }\r\n }));\r\n if (!selectedGroup) {\r\n selectedGroup = {\r\n key: groupKey,\r\n items: []\r\n };\r\n result.push(selectedGroup)\r\n }\r\n selectedGroup.items.push(item)\r\n }.bind(this));\r\n return result\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._collectionWidget.option(\"items\");\r\n var movingIndices = splitIndex(movingIndex);\r\n var destinationIndices = splitIndex(destinationIndex);\r\n var movingItemGroup = items[movingIndices.group].items;\r\n var destinationItemGroup = items[destinationIndices.group].items;\r\n var movedItemData = movingItemGroup[movingIndices.item];\r\n movingItemGroup.splice(movingIndices.item, 1);\r\n destinationItemGroup.splice(destinationIndices.item, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return index && isNumeric(index.group) && isNumeric(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = $(itemElement);\r\n var $group = $item.closest(\".\" + LIST_GROUP_CLASS);\r\n if (!$group.length) {\r\n return -1\r\n }\r\n return combineIndex({\r\n group: this._groupElements().index($group),\r\n item: this._groupItemElements($group).index($item)\r\n })\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return combineIndex(index)\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return splitIndex(index)\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var $group = this._groupElements().eq(indices.group);\r\n return this._groupItemElements($group).eq(indices.item)\r\n },\r\n _itemsFromSameParent: function(firstIndex, secondIndex) {\r\n return splitIndex(firstIndex).group === splitIndex(secondIndex).group\r\n }\r\n});\r\nexport default GroupedEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var registry = {};\r\nexport function register(option, type, decoratorClass) {\r\n var decoratorsRegistry = registry;\r\n var decoratorConfig = {};\r\n decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {};\r\n decoratorConfig[option][type] = decoratorClass;\r\n extend(decoratorsRegistry, decoratorConfig)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = addNamespace(swipeEventStart, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = addNamespace(swipeEventSwipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = addNamespace(swipeEventEnd, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: noop,\r\n _shouldHandleSwipe: false,\r\n _attachSwipeEvent: function(config) {\r\n var swipeConfig = {\r\n itemSizeFunc: function() {\r\n if (this._clearSwipeCache) {\r\n this._itemWidthCache = this._list.$element().width();\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n eventsEngine.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n clearTimeout(this._list._inkRippleTimer);\r\n this._swipeStartHandler($itemElement, e)\r\n },\r\n _itemSwipeUpdateHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: noop,\r\n afterBag: noop,\r\n _commonOptions: function() {\r\n return {\r\n activeStateEnabled: this._list.option(\"activeStateEnabled\"),\r\n hoverStateEnabled: this._list.option(\"hoverStateEnabled\"),\r\n focusStateEnabled: this._list.option(\"focusStateEnabled\")\r\n }\r\n },\r\n modifyElement: function(config) {\r\n if (this._shouldHandleSwipe) {\r\n this._attachSwipeEvent(config);\r\n this._clearSwipeCache = true\r\n }\r\n },\r\n afterRender: noop,\r\n handleClick: noop,\r\n handleKeyboardEvents: noop,\r\n handleEnterPressing: noop,\r\n handleContextMenu: noop,\r\n _swipeStartHandler: noop,\r\n _swipeUpdateHandler: noop,\r\n _swipeEndHandler: noop,\r\n visibilityChange: noop,\r\n getExcludedSelectors: noop,\r\n dispose: noop\r\n});\r\nexport default EditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.static.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Button from \"../button\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar STATIC_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-static-delete-button-container\";\r\nvar STATIC_DELETE_BUTTON_CLASS = \"dx-list-static-delete-button\";\r\nregisterDecorator(\"delete\", \"static\", EditDecorator.inherit({\r\n afterBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $button = $(\"
\").addClass(STATIC_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n icon: \"remove\",\r\n onClick: function(args) {\r\n args.event.stopPropagation();\r\n this._deleteItem($itemElement)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(STATIC_DELETE_BUTTON_CONTAINER_CLASS).append($button)\r\n },\r\n _deleteItem: function($itemElement) {\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar abstract = EditDecorator.abstract;\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar POINTER_DOWN_EVENT_NAME = addNamespace(pointerEvents.down, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar LIST_ITEM_CONTENT_CLASS = \"dx-list-item-content\";\r\nvar SWITCHABLE_DELETE_READY_CLASS = \"dx-list-switchable-delete-ready\";\r\nvar SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-shield-positioning\";\r\nvar SWITCHABLE_DELETE_TOP_SHIELD_CLASS = \"dx-list-switchable-delete-top-shield\";\r\nvar SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS = \"dx-list-switchable-delete-bottom-shield\";\r\nvar SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-item-shield-positioning\";\r\nvar SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS = \"dx-list-switchable-delete-item-content-shield\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SwitchableEditDecorator = EditDecorator.inherit({\r\n _init: function() {\r\n this._$topShield = $(\"
\").addClass(SWITCHABLE_DELETE_TOP_SHIELD_CLASS);\r\n this._$bottomShield = $(\"
\").addClass(SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS);\r\n this._$itemContentShield = $(\"
\").addClass(SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS);\r\n eventsEngine.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n eventsEngine.on(this._$bottomShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n this._list.$element().append(this._$topShield.toggle(false)).append(this._$bottomShield.toggle(false))\r\n },\r\n handleClick: function() {\r\n return this._cancelDeleteReadyItem()\r\n },\r\n _cancelDeleteReadyItem: function() {\r\n if (!this._$readyToDeleteItem) {\r\n return false\r\n }\r\n this._cancelDelete(this._$readyToDeleteItem);\r\n return true\r\n },\r\n _cancelDelete: function($itemElement) {\r\n this._toggleDeleteReady($itemElement, false)\r\n },\r\n _toggleDeleteReady: function($itemElement, readyToDelete) {\r\n if (void 0 === readyToDelete) {\r\n readyToDelete = !this._isReadyToDelete($itemElement)\r\n }\r\n this._toggleShields($itemElement, readyToDelete);\r\n this._toggleScrolling(readyToDelete);\r\n this._cacheReadyToDeleteItem($itemElement, readyToDelete);\r\n this._animateToggleDelete($itemElement, readyToDelete)\r\n },\r\n _isReadyToDelete: function($itemElement) {\r\n return $itemElement.hasClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _toggleShields: function($itemElement, enabled) {\r\n this._list.$element().toggleClass(SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS, enabled);\r\n this._$topShield.toggle(enabled);\r\n this._$bottomShield.toggle(enabled);\r\n if (enabled) {\r\n this._updateShieldsHeight($itemElement)\r\n }\r\n this._toggleContentShield($itemElement, enabled)\r\n },\r\n _updateShieldsHeight: function($itemElement) {\r\n var $list = this._list.$element();\r\n var listTopOffset = $list.offset().top;\r\n var listHeight = $list.outerHeight();\r\n var itemTopOffset = $itemElement.offset().top;\r\n var itemHeight = $itemElement.outerHeight();\r\n var dirtyTopShieldHeight = itemTopOffset - listTopOffset;\r\n var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight;\r\n this._$topShield.height(Math.max(dirtyTopShieldHeight, 0));\r\n this._$bottomShield.height(Math.max(dirtyBottomShieldHeight, 0))\r\n },\r\n _toggleContentShield: function($itemElement, enabled) {\r\n if (enabled) {\r\n $itemElement.find(\".\" + LIST_ITEM_CONTENT_CLASS).first().append(this._$itemContentShield)\r\n } else {\r\n this._$itemContentShield.detach()\r\n }\r\n },\r\n _toggleScrolling: function(readyToDelete) {\r\n var scrollView = this._list.$element().dxScrollView(\"instance\");\r\n if (readyToDelete) {\r\n scrollView.on(\"start\", this._cancelScrolling)\r\n } else {\r\n scrollView.off(\"start\", this._cancelScrolling)\r\n }\r\n },\r\n _cancelScrolling: function(args) {\r\n args.event.cancel = true\r\n },\r\n _cacheReadyToDeleteItem: function($itemElement, cache) {\r\n if (cache) {\r\n this._$readyToDeleteItem = $itemElement\r\n } else {\r\n delete this._$readyToDeleteItem\r\n }\r\n },\r\n _animateToggleDelete: function($itemElement, readyToDelete) {\r\n if (readyToDelete) {\r\n this._enablePositioning($itemElement);\r\n this._prepareDeleteReady($itemElement);\r\n this._animatePrepareDeleteReady($itemElement);\r\n eventsEngine.off($itemElement, pointerEvents.up)\r\n } else {\r\n this._forgetDeleteReady($itemElement);\r\n this._animateForgetDeleteReady($itemElement).done(this._disablePositioning.bind(this, $itemElement))\r\n }\r\n },\r\n _enablePositioning: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.on($itemElement, ACTIVE_EVENT_NAME, noop);\r\n eventsEngine.one($itemElement, pointerEvents.up, this._disablePositioning.bind(this, $itemElement))\r\n },\r\n _disablePositioning: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.off($itemElement, ACTIVE_EVENT_NAME)\r\n },\r\n _prepareDeleteReady: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _forgetDeleteReady: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _animatePrepareDeleteReady: abstract,\r\n _animateForgetDeleteReady: abstract,\r\n _getDeleteButtonContainer: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n return $itemElement.children(\".\" + SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS)\r\n },\r\n _deleteItem: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n this._getDeleteButtonContainer($itemElement).detach();\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement).always(this._cancelDelete.bind(this, $itemElement))\r\n },\r\n _isRtlEnabled: function() {\r\n return this._list.option(\"rtlEnabled\")\r\n },\r\n dispose: function() {\r\n if (this._$topShield) {\r\n this._$topShield.remove()\r\n }\r\n if (this._$bottomShield) {\r\n this._$bottomShield.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nexport default SwitchableEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.button.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport fx from \"../../animation/fx\";\r\nimport Button from \"../button\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS = \"dx-list-switchable-delete-button-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS = \"dx-list-switchable-delete-button-inner-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_CLASS = \"dx-list-switchable-delete-button\";\r\nvar SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION = 200;\r\nvar SwitchableButtonEditDecorator = SwitchableEditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $buttonContainer = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS);\r\n var $buttonWrapper = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS);\r\n var $buttonInnerWrapper = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS);\r\n var $button = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n type: \"danger\",\r\n onClick: function(e) {\r\n this._deleteItem();\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $buttonContainer.append($buttonWrapper);\r\n $buttonWrapper.append($buttonInnerWrapper);\r\n $buttonInnerWrapper.append($button);\r\n this._$buttonContainer = $buttonContainer\r\n },\r\n _enablePositioning: function($itemElement) {\r\n this.callBase.apply(this, arguments);\r\n fx.stop(this._$buttonContainer, true);\r\n this._$buttonContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = this._list.$element().width();\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth : -buttonWidth;\r\n var toValue = rtl ? listWidth - buttonWidth : 0;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _animateForgetDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = this._list.$element().width();\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth - buttonWidth : 0;\r\n var toValue = rtl ? listWidth : -buttonWidth;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _buttonWidth: function() {\r\n if (!this._buttonContainerWidth) {\r\n this._buttonContainerWidth = this._$buttonContainer.outerWidth()\r\n }\r\n return this._buttonContainerWidth\r\n },\r\n dispose: function() {\r\n if (this._$buttonContainer) {\r\n this._$buttonContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nvar TOGGLE_DELETE_SWITCH_CONTAINER_CLASS = \"dx-list-toggle-delete-switch-container\";\r\nvar TOGGLE_DELETE_SWITCH_CLASS = \"dx-list-toggle-delete-switch\";\r\nregisterDecorator(\"delete\", \"toggle\", SwitchableButtonEditDecorator.inherit({\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $toggle = $(\"
\").addClass(TOGGLE_DELETE_SWITCH_CLASS);\r\n this._list._createComponent($toggle, Button, {\r\n icon: \"toggle-delete\",\r\n onClick: function(e) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement);\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(TOGGLE_DELETE_SWITCH_CONTAINER_CLASS);\r\n $container.append($toggle)\r\n }\r\n}));\r\nregisterDecorator(\"delete\", \"slideButton\", SwitchableButtonEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _swipeEndHandler: function($itemElement, args) {\r\n if (0 !== args.targetOffset) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement)\r\n }\r\n return true\r\n }\r\n}));\r\nexport default SwitchableButtonEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_menu_helper.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar EditDecoratorMenuHelperMixin = {\r\n _menuEnabled: function() {\r\n return !!this._menuItems().length\r\n },\r\n _menuItems: function() {\r\n return this._list.option(\"menuItems\")\r\n },\r\n _deleteEnabled: function() {\r\n return this._list.option(\"allowItemDeleting\")\r\n },\r\n _fireMenuAction: function($itemElement, action) {\r\n this._list._itemEventHandlerByHandler($itemElement, action, {}, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n};\r\nexport default EditDecoratorMenuHelperMixin;\r\n","/**\r\n * DevExtreme (esm/ui/popover.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n noop,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n move\r\n} from \"../animation/translator\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n fitIntoRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport Popup from \"./popup\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nvar POPOVER_CLASS = \"dx-popover\";\r\nvar POPOVER_WRAPPER_CLASS = \"dx-popover-wrapper\";\r\nvar POPOVER_ARROW_CLASS = \"dx-popover-arrow\";\r\nvar POPOVER_WITHOUT_TITLE_CLASS = \"dx-popover-without-title\";\r\nvar POSITION_FLIP_MAP = {\r\n left: \"right\",\r\n top: \"bottom\",\r\n right: \"left\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n};\r\nvar WEIGHT_OF_SIDES = {\r\n left: -1,\r\n top: -1,\r\n center: 0,\r\n right: 1,\r\n bottom: 1\r\n};\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit flip\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\",\r\n collision: \"flip fit\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\",\r\n collision: \"flip fit\"\r\n }\r\n};\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar getEventNameByOption = function(optionValue) {\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n};\r\nvar getEventName = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return getEventNameByOption(optionValue)\r\n};\r\nvar getEventDelay = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return isObject(optionValue) && optionValue.delay\r\n};\r\nvar attachEvent = function(that, name) {\r\n var target = that.option(\"target\");\r\n var isSelector = isString(target);\r\n var event = getEventName(that, name + \"Event\");\r\n if (!event || that.option(\"disabled\")) {\r\n return\r\n }\r\n var eventName = addNamespace(event, that.NAME);\r\n var action = that._createAction(function() {\r\n var delay = getEventDelay(that, name + \"Event\");\r\n this._clearEventsTimeouts();\r\n if (delay) {\r\n this._timeouts[name] = setTimeout((function() {\r\n that[name]()\r\n }), delay)\r\n } else {\r\n that[name]()\r\n }\r\n }.bind(that), {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = function(e) {\r\n action({\r\n event: e,\r\n target: $(e.currentTarget)\r\n })\r\n };\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (isSelector) {\r\n that[EVENT_HANDLER_NAME] = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, handler)\r\n } else {\r\n var targetElement = getPublicElement($(target));\r\n that[EVENT_HANDLER_NAME] = void 0;\r\n eventsEngine.on(targetElement, eventName, handler)\r\n }\r\n};\r\nvar detachEvent = function(that, target, name, event) {\r\n var eventName = event || getEventName(that, name + \"Event\");\r\n if (!eventName) {\r\n return\r\n }\r\n eventName = addNamespace(eventName, that.NAME);\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (that[EVENT_HANDLER_NAME]) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, that[EVENT_HANDLER_NAME])\r\n } else {\r\n eventsEngine.off(getPublicElement($(target)), eventName)\r\n }\r\n};\r\nvar Popover = Popup.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n target: window,\r\n shading: false,\r\n position: \"bottom\",\r\n closeOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n to: 0\r\n }\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n fullScreen: false,\r\n closeOnTargetScroll: true,\r\n arrowPosition: \"\",\r\n arrowOffset: 0,\r\n boundaryOffset: {\r\n h: 10,\r\n v: 10\r\n },\r\n _fixedPosition: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return [{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n arrowPosition: {\r\n boundaryOffset: {\r\n h: 20,\r\n v: -10\r\n },\r\n collision: \"fit\"\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._renderArrow();\r\n this._timeouts = {};\r\n this.$element().addClass(POPOVER_CLASS);\r\n this.$wrapper().addClass(POPOVER_WRAPPER_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase.apply(this, arguments);\r\n this._detachEvents(this.option(\"target\"));\r\n this._attachEvents()\r\n },\r\n _detachEvents: function(target) {\r\n detachEvent(this, target, \"show\");\r\n detachEvent(this, target, \"hide\")\r\n },\r\n _attachEvents: function() {\r\n attachEvent(this, \"show\");\r\n attachEvent(this, \"hide\")\r\n },\r\n _renderArrow: function() {\r\n this._$arrow = $(\"
\").addClass(POPOVER_ARROW_CLASS).prependTo(this.$overlayContent())\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._isOutsideClick(e)) {\r\n return this.callBase(e)\r\n }\r\n return true\r\n },\r\n _isOutsideClick: function(e) {\r\n return !$(e.target).closest(this.option(\"target\")).length\r\n },\r\n _animate: function(animation) {\r\n if (animation && animation.to && \"object\" === typeof animation.to) {\r\n extend(animation.to, {\r\n position: this._getContainerPosition()\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _stopAnimation: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderTitle: function() {\r\n this.$wrapper().toggleClass(POPOVER_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"));\r\n this.callBase()\r\n },\r\n _renderPosition: function() {\r\n this.callBase();\r\n this._renderOverlayPosition()\r\n },\r\n _renderOverlayBoundaryOffset: noop,\r\n _renderOverlayPosition: function() {\r\n this._resetOverlayPosition();\r\n this._updateContentSize();\r\n var contentPosition = this._getContainerPosition();\r\n var resultLocation = positionUtils.setup(this.$overlayContent(), contentPosition);\r\n var positionSide = this._getSideByLocation(resultLocation);\r\n this._togglePositionClass(\"dx-position-\" + positionSide);\r\n this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip);\r\n var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide();\r\n if (isArrowVisible) {\r\n this._renderArrowPosition(positionSide)\r\n }\r\n },\r\n _resetOverlayPosition: function() {\r\n this._setContentHeight(true);\r\n this._togglePositionClass(\"dx-position-\" + this._positionSide);\r\n move(this.$overlayContent(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._$arrow.css({\r\n top: \"auto\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n left: \"auto\"\r\n })\r\n },\r\n _updateContentSize: function() {\r\n if (!this.$content()) {\r\n return\r\n }\r\n var containerLocation = positionUtils.calculate(this.$overlayContent(), this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = this.$overlayContent().width() - containerLocation.h.oversize;\r\n this.$overlayContent().width(newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = this.$overlayContent().height() - containerLocation.v.oversize;\r\n var newPopupContentHeight = this.$content().height() - containerLocation.v.oversize;\r\n this.$overlayContent().height(newOverlayContentHeight);\r\n this.$content().height(newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n var offset = pairToObject(this._position.offset || \"\");\r\n var hOffset = offset.h;\r\n var vOffset = offset.v;\r\n var isVerticalSide = this._isVerticalSide();\r\n var isHorizontalSide = this._isHorizontalSide();\r\n if (isVerticalSide || isHorizontalSide) {\r\n var isPopoverInside = this._isPopoverInside();\r\n var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide];\r\n var arrowSize = isVerticalSide ? this._$arrow.height() : this._$arrow.width();\r\n var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide);\r\n var arrowOffset = sign * (arrowSize - arrowSizeCorrection);\r\n isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset\r\n }\r\n return extend({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n },\r\n _getContentBorderWidth: function(side) {\r\n var borderWidth = this.$overlayContent().css(SIDE_BORDER_WIDTH_STYLES[side]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _getSideByLocation: function(location) {\r\n var isFlippedByVertical = location.v.flip;\r\n var isFlippedByHorizontal = location.h.flip;\r\n return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionSide] : this._positionSide\r\n },\r\n _togglePositionClass: function(positionClass) {\r\n this.$wrapper().removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(positionClass)\r\n },\r\n _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) {\r\n this.$wrapper().toggleClass(\"dx-popover-flipped-horizontal\", isFlippedHorizontal).toggleClass(\"dx-popover-flipped-vertical\", isFlippedVertical)\r\n },\r\n _renderArrowPosition: function(side) {\r\n var arrowRect = getBoundingRect(this._$arrow.get(0));\r\n var arrowFlip = -(this._isVerticalSide(side) ? arrowRect.height : arrowRect.width);\r\n this._$arrow.css(POSITION_FLIP_MAP[side], arrowFlip);\r\n var axis = this._isVerticalSide(side) ? \"left\" : \"top\";\r\n var sizeProperty = this._isVerticalSide(side) ? \"width\" : \"height\";\r\n var $target = $(this._position.of);\r\n var targetOffset = positionUtils.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = positionUtils.offset(this.$overlayContent());\r\n var arrowSize = arrowRect[sizeProperty];\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = getBoundingRect(this.$overlayContent().get(0))[sizeProperty];\r\n var targetLocation = targetOffset[axis];\r\n var targetSize = $target.get(0).preventDefault ? 0 : getBoundingRect($target.get(0))[sizeProperty];\r\n var min = Math.max(contentLocation, targetLocation);\r\n var max = Math.min(contentLocation + contentSize, targetLocation + targetSize);\r\n var arrowLocation;\r\n if (\"start\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = min - contentLocation\r\n } else if (\"end\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = max - contentLocation - arrowSize\r\n } else {\r\n arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2\r\n }\r\n var borderWidth = this._getContentBorderWidth(side);\r\n var finalArrowLocation = fitIntoRange(arrowLocation - borderWidth + this.option(\"arrowOffset\"), borderWidth, contentSize - arrowSize - 2 * borderWidth);\r\n this._$arrow.css(axis, finalArrowLocation)\r\n },\r\n _isPopoverInside: function() {\r\n var position = this._transformStringPosition(this.option(\"position\"), POSITION_ALIASES);\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n return my.h === at.h && my.v === at.v\r\n },\r\n _setContentHeight: function(fullUpdate) {\r\n if (fullUpdate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderWrapperPosition: function() {\r\n if (this.option(\"shading\")) {\r\n this.$wrapper().css({\r\n top: 0,\r\n left: 0\r\n })\r\n }\r\n },\r\n _renderWrapperDimensions: function() {\r\n if (this.option(\"shading\")) {\r\n this.$wrapper().css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n },\r\n _normalizePosition: function() {\r\n var position = extend({}, this._transformStringPosition(this.option(\"position\"), POSITION_ALIASES));\r\n if (!position.of) {\r\n position.of = this.option(\"target\")\r\n }\r\n if (!position.collision) {\r\n position.collision = \"flip\"\r\n }\r\n if (!position.boundaryOffset) {\r\n position.boundaryOffset = this.option(\"boundaryOffset\")\r\n }\r\n this._positionSide = this._getDisplaySide(position);\r\n this._position = position\r\n },\r\n _getDisplaySide: function(position) {\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1;\r\n var horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]);\r\n var verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]);\r\n return horizontalWeight > verticalWeight ? at.h : at.v\r\n },\r\n _isVerticalSide: function(side) {\r\n side = side || this._positionSide;\r\n return \"top\" === side || \"bottom\" === side\r\n },\r\n _isHorizontalSide: function(side) {\r\n side = side || this._positionSide;\r\n return \"left\" === side || \"right\" === side\r\n },\r\n _clearEventTimeout: function(name) {\r\n clearTimeout(this._timeouts[name])\r\n },\r\n _clearEventsTimeouts: function() {\r\n this._clearEventTimeout(\"show\");\r\n this._clearEventTimeout(\"hide\")\r\n },\r\n _clean: function() {\r\n this._detachEvents(this.option(\"target\"));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"boundaryOffset\":\r\n case \"arrowPosition\":\r\n case \"arrowOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"fullScreen\":\r\n if (args.value) {\r\n this.option(\"fullScreen\", false)\r\n }\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachEvents(args.previousValue);\r\n this.callBase(args);\r\n break;\r\n case \"showEvent\":\r\n case \"hideEvent\":\r\n var name = args.name.substring(0, 4);\r\n var event = getEventNameByOption(args.previousValue);\r\n this.hide();\r\n detachEvent(this, this.option(\"target\"), name, event);\r\n attachEvent(this, name);\r\n break;\r\n case \"visible\":\r\n this._clearEventTimeout(args.value ? \"show\" : \"hide\");\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n show: function(target) {\r\n if (target) {\r\n this.option(\"target\", target)\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxPopover\", Popover);\r\nexport default Popover;\r\n","/**\r\n * DevExtreme (esm/ui/action_sheet.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport Button from \"./button\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport Popup from \"./popup\";\r\nimport Popover from \"./popover\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar ACTION_SHEET_CLASS = \"dx-actionsheet\";\r\nvar ACTION_SHEET_CONTAINER_CLASS = \"dx-actionsheet-container\";\r\nvar ACTION_SHEET_POPUP_WRAPPER_CLASS = \"dx-actionsheet-popup-wrapper\";\r\nvar ACTION_SHEET_POPOVER_WRAPPER_CLASS = \"dx-actionsheet-popover-wrapper\";\r\nvar ACTION_SHEET_CANCEL_BUTTON_CLASS = \"dx-actionsheet-cancel\";\r\nvar ACTION_SHEET_ITEM_CLASS = \"dx-actionsheet-item\";\r\nvar ACTION_SHEET_ITEM_DATA_KEY = \"dxActionSheetItemData\";\r\nvar ACTION_SHEET_WITHOUT_TITLE_CLASS = \"dx-actionsheet-without-title\";\r\nvar ActionSheet = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n usePopover: false,\r\n target: null,\r\n title: \"\",\r\n showTitle: true,\r\n showCancelButton: true,\r\n cancelText: messageLocalization.format(\"Cancel\"),\r\n onCancelClick: null,\r\n visible: false,\r\n noDataText: \"\",\r\n focusStateEnabled: false,\r\n selectionByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\",\r\n tablet: true\r\n },\r\n options: {\r\n usePopover: true\r\n }\r\n }])\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate((function($container, data) {\r\n var button = new Button($(\"
\"), extend({\r\n onClick: data && data.click\r\n }, data));\r\n $container.append(button.$element())\r\n }), [\"disabled\", \"icon\", \"text\", \"type\", \"onClick\", \"click\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemClass: function() {\r\n return ACTION_SHEET_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ACTION_SHEET_ITEM_DATA_KEY\r\n },\r\n _toggleVisibility: noop,\r\n _renderDimensions: noop,\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(ACTION_SHEET_CLASS);\r\n this._createItemContainer()\r\n },\r\n _render: function() {\r\n this._renderPopup()\r\n },\r\n _createItemContainer: function() {\r\n this._$itemContainer = $(\"
\").addClass(ACTION_SHEET_CONTAINER_CLASS);\r\n this._renderDisabled()\r\n },\r\n _renderDisabled: function() {\r\n this._$itemContainer.toggleClass(\"dx-state-disabled\", this.option(\"disabled\"))\r\n },\r\n _renderPopup: function() {\r\n this._$popup = $(\"
\").appendTo(this.$element());\r\n this._isPopoverMode() ? this._createPopover() : this._createPopup();\r\n this._renderPopupTitle();\r\n this._mapPopupOption(\"visible\")\r\n },\r\n _mapPopupOption: function(optionName) {\r\n this._popup && this._popup.option(optionName, this.option(optionName))\r\n },\r\n _isPopoverMode: function() {\r\n return this.option(\"usePopover\") && this.option(\"target\")\r\n },\r\n _renderPopupTitle: function() {\r\n this._mapPopupOption(\"showTitle\");\r\n this._popup && this._popup.$wrapper().toggleClass(ACTION_SHEET_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"))\r\n },\r\n _clean: function() {\r\n if (this._$popup) {\r\n this._$popup.remove()\r\n }\r\n this.callBase()\r\n },\r\n _overlayConfig: function() {\r\n return {\r\n onInitialized: function(args) {\r\n this._popup = args.component\r\n }.bind(this),\r\n disabled: false,\r\n showTitle: true,\r\n title: this.option(\"title\"),\r\n deferRendering: !window.angular,\r\n onContentReady: this._popupContentReadyAction.bind(this),\r\n onHidden: this.hide.bind(this)\r\n }\r\n },\r\n _createPopover: function() {\r\n this._createComponent(this._$popup, Popover, extend(this._overlayConfig(), {\r\n width: this.option(\"width\") || 200,\r\n height: this.option(\"height\") || \"auto\",\r\n target: this.option(\"target\")\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPOVER_WRAPPER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this._createComponent(this._$popup, Popup, extend(this._overlayConfig(), {\r\n dragEnabled: false,\r\n width: this.option(\"width\") || \"100%\",\r\n height: this.option(\"height\") || \"auto\",\r\n showCloseButton: false,\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPUP_WRAPPER_CLASS)\r\n },\r\n _popupContentReadyAction: function() {\r\n this._popup.$content().append(this._$itemContainer);\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._prepareContent();\r\n this._renderContent();\r\n this._renderCancelButton()\r\n },\r\n _renderCancelButton: function() {\r\n if (this._isPopoverMode()) {\r\n return\r\n }\r\n if (this._$cancelButton) {\r\n this._$cancelButton.remove()\r\n }\r\n if (this.option(\"showCancelButton\")) {\r\n var cancelClickAction = this._createActionByOption(\"onCancelClick\") || noop;\r\n var that = this;\r\n this._$cancelButton = $(\"
\").addClass(ACTION_SHEET_CANCEL_BUTTON_CLASS).appendTo(this._popup && this._popup.$content());\r\n this._createComponent(this._$cancelButton, Button, {\r\n disabled: false,\r\n text: this.option(\"cancelText\"),\r\n onClick: function(e) {\r\n var hidingArgs = {\r\n event: e,\r\n cancel: false\r\n };\r\n cancelClickAction(hidingArgs);\r\n if (!hidingArgs.cancel) {\r\n that.hide()\r\n }\r\n },\r\n integrationOptions: {}\r\n })\r\n }\r\n },\r\n _attachItemClickEvent: noop,\r\n _itemClickHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _itemHoldHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n case \"visible\":\r\n case \"title\":\r\n this._mapPopupOption(args.name);\r\n break;\r\n case \"disabled\":\r\n this._renderDisabled();\r\n break;\r\n case \"showTitle\":\r\n this._renderPopupTitle();\r\n break;\r\n case \"showCancelButton\":\r\n case \"onCancelClick\":\r\n case \"cancelText\":\r\n this._renderCancelButton();\r\n break;\r\n case \"target\":\r\n case \"usePopover\":\r\n case \"items\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n var that = this;\r\n var d = new Deferred;\r\n that._popup.toggle(showing).done((function() {\r\n that.option(\"visible\", showing);\r\n d.resolveWith(that)\r\n }));\r\n return d.promise()\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n }\r\n});\r\nregisterComponent(\"dxActionSheet\", ActionSheet);\r\nexport default ActionSheet;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.slide.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport ActionSheet from \"../action_sheet\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar SLIDE_MENU_CLASS = \"dx-list-slide-menu\";\r\nvar SLIDE_MENU_WRAPPER_CLASS = \"dx-list-slide-menu-wrapper\";\r\nvar SLIDE_MENU_CONTENT_CLASS = \"dx-list-slide-menu-content\";\r\nvar SLIDE_MENU_BUTTONS_CONTAINER_CLASS = \"dx-list-slide-menu-buttons-container\";\r\nvar SLIDE_MENU_BUTTONS_CLASS = \"dx-list-slide-menu-buttons\";\r\nvar SLIDE_MENU_BUTTON_CLASS = \"dx-list-slide-menu-button\";\r\nvar SLIDE_MENU_BUTTON_MENU_CLASS = \"dx-list-slide-menu-button-menu\";\r\nvar SLIDE_MENU_BUTTON_DELETE_CLASS = \"dx-list-slide-menu-button-delete\";\r\nvar SLIDE_MENU_ANIMATION_DURATION = 400;\r\nvar SLIDE_MENU_ANIMATION_EASING = \"cubic-bezier(0.075, 0.82, 0.165, 1)\";\r\nregisterDecorator(\"menu\", \"slide\", SwitchableEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer = $(\"
\").addClass(SLIDE_MENU_BUTTONS_CONTAINER_CLASS);\r\n eventsEngine.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, noop);\r\n this._$buttons = $(\"
\").addClass(SLIDE_MENU_BUTTONS_CLASS).appendTo(this._$buttonsContainer);\r\n this._renderMenu();\r\n this._renderDeleteButton()\r\n },\r\n _renderMenu: function() {\r\n if (!this._menuEnabled()) {\r\n return\r\n }\r\n var menuItems = this._menuItems();\r\n if (1 === menuItems.length) {\r\n var menuItem = menuItems[0];\r\n this._renderMenuButton(menuItem.text, function(e) {\r\n e.stopPropagation();\r\n this._fireAction(menuItem)\r\n }.bind(this))\r\n } else {\r\n var $menu = $(\"
\").addClass(SLIDE_MENU_CLASS);\r\n this._menu = this._list._createComponent($menu, ActionSheet, {\r\n showTitle: false,\r\n items: menuItems,\r\n onItemClick: function(args) {\r\n this._fireAction(args.itemData)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $menu.appendTo(this._list.$element());\r\n var $menuButton = this._renderMenuButton(messageLocalization.format(\"dxListEditDecorator-more\"), function(e) {\r\n e.stopPropagation();\r\n this._menu.show()\r\n }.bind(this));\r\n this._menu.option(\"target\", $menuButton)\r\n }\r\n },\r\n _renderMenuButton: function(text, action) {\r\n var $menuButton = $(\"
\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_MENU_CLASS).text(text);\r\n this._$buttons.append($menuButton);\r\n eventsEngine.on($menuButton, CLICK_EVENT_NAME, action);\r\n return $menuButton\r\n },\r\n _renderDeleteButton: function() {\r\n if (!this._deleteEnabled()) {\r\n return\r\n }\r\n var $deleteButton = $(\"
\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_DELETE_CLASS).text(isMaterial() ? \"\" : messageLocalization.format(\"dxListEditDecorator-delete\"));\r\n eventsEngine.on($deleteButton, CLICK_EVENT_NAME, function(e) {\r\n e.stopPropagation();\r\n this._deleteItem()\r\n }.bind(this));\r\n this._$buttons.append($deleteButton)\r\n },\r\n _fireAction: function(menuItem) {\r\n this._fireMenuAction($(this._cachedNode), menuItem.action);\r\n this._cancelDeleteReadyItem()\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n $itemElement.addClass(SLIDE_MENU_WRAPPER_CLASS);\r\n var $slideMenuContent = $(\"
\").addClass(SLIDE_MENU_CONTENT_CLASS);\r\n $itemElement.wrapInner($slideMenuContent)\r\n },\r\n _getDeleteButtonContainer: function() {\r\n return this._$buttonsContainer\r\n },\r\n handleClick: function(_, e) {\r\n if ($(e.target).closest(\".\" + SLIDE_MENU_CONTENT_CLASS).length) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._enablePositioning($itemElement);\r\n this._cacheItemData($itemElement);\r\n this._setPositions(this._getPositions(0))\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var isItemReadyToDelete = this._isReadyToDelete($itemElement);\r\n var moveJustStarted = this._getCurrentPositions().content === this._getStartPositions().content;\r\n if (moveJustStarted && !isItemReadyToDelete && args.offset * signCorrection > 0) {\r\n args.cancel = true;\r\n return\r\n }\r\n var offset = this._cachedItemWidth * args.offset;\r\n var startOffset = isItemReadyToDelete ? -this._cachedButtonWidth * signCorrection : 0;\r\n var correctedOffset = (offset + startOffset) * signCorrection;\r\n var percent = correctedOffset < 0 ? Math.abs((offset + startOffset) / this._cachedButtonWidth) : 0;\r\n this._setPositions(this._getPositions(percent));\r\n return true\r\n },\r\n _getStartPositions: function() {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n return {\r\n content: 0,\r\n buttonsContainer: rtl ? -this._cachedButtonWidth : this._cachedItemWidth,\r\n buttons: -this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getPositions: function(percent) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var startPositions = this._getStartPositions();\r\n return {\r\n content: startPositions.content - percent * this._cachedButtonWidth * signCorrection,\r\n buttonsContainer: startPositions.buttonsContainer - Math.min(percent, 1) * this._cachedButtonWidth * signCorrection,\r\n buttons: startPositions.buttons + Math.min(percent, 1) * this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getCurrentPositions: function() {\r\n return {\r\n content: locate(this._$cachedContent).left,\r\n buttonsContainer: locate(this._$buttonsContainer).left,\r\n buttons: locate(this._$buttons).left\r\n }\r\n },\r\n _setPositions: function(positions) {\r\n move(this._$cachedContent, {\r\n left: positions.content\r\n });\r\n move(this._$buttonsContainer, {\r\n left: positions.buttonsContainer\r\n });\r\n move(this._$buttons, {\r\n left: positions.buttons\r\n })\r\n },\r\n _cacheItemData: function($itemElement) {\r\n if ($itemElement[0] === this._cachedNode) {\r\n return\r\n }\r\n this._$cachedContent = $itemElement.find(\".\" + SLIDE_MENU_CONTENT_CLASS);\r\n this._cachedItemWidth = $itemElement.outerWidth();\r\n this._cachedButtonWidth = this._cachedButtonWidth || this._$buttons.outerWidth();\r\n this._$buttonsContainer.width(this._cachedButtonWidth);\r\n if (this._$cachedContent.length) {\r\n this._cachedNode = $itemElement[0]\r\n }\r\n },\r\n _minButtonContainerLeftOffset: function() {\r\n return this._cachedItemWidth - this._cachedButtonWidth\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n this._cacheItemData($itemElement);\r\n var signCorrection = this._isRtlEnabled() ? 1 : -1;\r\n var offset = this._cachedItemWidth * args.offset;\r\n var endedAtReadyToDelete = !this._isReadyToDelete($itemElement) && offset * signCorrection > .2 * this._cachedButtonWidth;\r\n var readyToDelete = args.targetOffset === signCorrection && endedAtReadyToDelete;\r\n this._toggleDeleteReady($itemElement, readyToDelete);\r\n return true\r\n },\r\n _enablePositioning: function($itemElement) {\r\n fx.stop(this._$cachedContent, true);\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n return this._animateToPositions(this._getPositions(1))\r\n },\r\n _animateForgetDeleteReady: function($itemElement) {\r\n this._cacheItemData($itemElement);\r\n return this._animateToPositions(this._getPositions(0))\r\n },\r\n _animateToPositions: function(positions) {\r\n var that = this;\r\n var currentPosition = this._getCurrentPositions();\r\n var durationTimePart = Math.min(Math.abs(currentPosition.content - positions.content) / this._cachedButtonWidth, 1);\r\n return fx.animate(this._$cachedContent, {\r\n from: currentPosition,\r\n to: positions,\r\n easing: SLIDE_MENU_ANIMATION_EASING,\r\n duration: SLIDE_MENU_ANIMATION_DURATION * durationTimePart,\r\n strategy: \"frame\",\r\n draw: function(positions) {\r\n that._setPositions(positions)\r\n }\r\n })\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n if (this._$buttonsContainer) {\r\n this._$buttonsContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.swipe.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nregisterDecorator(\"delete\", \"swipe\", EditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _renderItemPosition: function($itemElement, offset, animate) {\r\n var deferred = new Deferred;\r\n var itemOffset = offset * this._itemElementWidth;\r\n if (animate) {\r\n fx.animate($itemElement, {\r\n to: {\r\n left: itemOffset\r\n },\r\n type: \"slide\",\r\n complete: function() {\r\n deferred.resolve($itemElement, offset)\r\n }\r\n })\r\n } else {\r\n move($itemElement, {\r\n left: itemOffset\r\n });\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._itemElementWidth = $itemElement.width();\r\n return true\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n this._renderItemPosition($itemElement, args.offset);\r\n return true\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n var offset = args.targetOffset;\r\n this._renderItemPosition($itemElement, offset, true).done(function($itemElement, offset) {\r\n if (Math.abs(offset)) {\r\n this._list.deleteItem($itemElement).fail(function() {\r\n this._renderItemPosition($itemElement, 0, true)\r\n }.bind(this))\r\n }\r\n }.bind(this));\r\n return true\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/item.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar LIST_ITEM_BADGE_CONTAINER_CLASS = \"dx-list-item-badge-container\";\r\nvar LIST_ITEM_BADGE_CLASS = \"dx-list-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar LIST_ITEM_CHEVRON_CONTAINER_CLASS = \"dx-list-item-chevron-container\";\r\nvar LIST_ITEM_CHEVRON_CLASS = \"dx-list-item-chevron\";\r\nvar ListItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this));\r\n this._startWatcher(\"showChevron\", this._renderShowChevron.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + LIST_ITEM_BADGE_CONTAINER_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"
\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append($(\"
\").addClass(LIST_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge));\r\n var $chevron = this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).first();\r\n $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element)\r\n },\r\n _renderShowChevron: function(showChevron) {\r\n this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).remove();\r\n if (!showChevron) {\r\n return\r\n }\r\n var $chevronContainer = $(\"
\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = $(\"
\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nexport default ListItem;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar PULLDOWN_RELEASE_TIME = 400;\r\nvar PullDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._$refreshingText = scrollView._$refreshingText;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$pullDownText = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"
\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"
\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"
\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n update: function() {\r\n this.callBase();\r\n this._setTopPocketOffset()\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.height();\r\n this._bottomPocketSize = this._$bottomPocket.height();\r\n if (browser.msie) {\r\n this._scrollOffset = Math.round(100 * (this._$container.height() - this._$content.height())) / 100\r\n } else {\r\n this._scrollOffset = this._$container.height() - this._$content.height()\r\n }\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n _setTopPocketOffset: function() {\r\n this._$topPocket.css({\r\n top: -this._topPocketSize\r\n })\r\n },\r\n handleEnd: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_READY) {\r\n this._setPullDownOffset(this._topPocketSize);\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n this._pullDownRefreshTimeout = setTimeout(function() {\r\n this._pullDownRefreshing()\r\n }.bind(this), 400)\r\n }\r\n },\r\n _setPullDownOffset: function(offset) {\r\n move(this._$topPocket, {\r\n top: offset\r\n });\r\n move(this._$scrollViewContent, {\r\n top: offset\r\n })\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = (this._location || 0) - currentLocation;\r\n this._location = currentLocation;\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= this._topPocketSize\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && this._location - (this._scrollOffset + this._bottomPocketSize) <= .5\r\n },\r\n _reachBottom: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n pullDownEnable: function(enabled) {\r\n if (enabled) {\r\n this._updateDimensions();\r\n this._setTopPocketOffset()\r\n }\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n if (this._state === STATE_LOADING) {\r\n this._state = STATE_RELEASED\r\n }\r\n this._releaseTimeout = setTimeout(function() {\r\n this._setPullDownOffset(0);\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), PULLDOWN_RELEASE_TIME);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default PullDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-refreshing\";\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_TOUCHED = 4;\r\nvar STATE_PULLED = 5;\r\nvar SwipeDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$scrollViewContent = scrollView.content();\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n this._$icon = $(\"
\").addClass(PULLDOWN_ICON_CLASS);\r\n this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator))\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._releasePullDown();\r\n this._updateDimensions()\r\n },\r\n _releasePullDown: function() {\r\n this._$pullDown.css({\r\n opacity: 0\r\n })\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.height();\r\n this._bottomPocketSize = this._$bottomPocket.height();\r\n this._scrollOffset = this._$container.height() - this._$content.height()\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n handleInit: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_RELEASED && 0 === this._location) {\r\n this._startClientY = eventData(e.originalEvent).y;\r\n this._state = STATE_TOUCHED\r\n }\r\n },\r\n handleMove: function(e) {\r\n this.callBase(e);\r\n this._deltaY = eventData(e.originalEvent).y - this._startClientY;\r\n if (this._state === STATE_TOUCHED) {\r\n if (this._pullDownEnabled && this._deltaY > 0) {\r\n this._state = STATE_PULLED\r\n } else {\r\n this._complete()\r\n }\r\n }\r\n if (this._state === STATE_PULLED) {\r\n e.preventDefault();\r\n this._movePullDown()\r\n }\r\n },\r\n _movePullDown: function() {\r\n var pullDownHeight = this._getPullDownHeight();\r\n var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition());\r\n var angle = 180 * top / pullDownHeight / 3;\r\n this._$pullDown.css({\r\n opacity: 1\r\n }).toggleClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS, top < pullDownHeight);\r\n move(this._$pullDown, {\r\n top: top\r\n });\r\n this._$icon.css({\r\n transform: \"rotate(\" + angle + \"deg)\"\r\n })\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._state === STATE_PULLED && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition()\r\n },\r\n _getPullDownHeight: function() {\r\n return Math.round(.05 * this._$element.outerHeight())\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * this._$pullDown.outerHeight())\r\n },\r\n handleEnd: function() {\r\n if (this._isPullDown()) {\r\n this._pullDownRefreshing()\r\n }\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_TOUCHED || this._state === STATE_PULLED) {\r\n this._releaseState()\r\n }\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = this._location - currentLocation;\r\n this._location = currentLocation;\r\n if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && this._location <= this._scrollOffset + this._bottomPocketSize\r\n },\r\n _reachBottom: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n this._state = STATE_REFRESHING;\r\n this._pullDownRefreshHandler()\r\n },\r\n _pullDownRefreshHandler: function() {\r\n this._refreshPullDown();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _refreshPullDown: function() {\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n move(this._$pullDown, {\r\n top: this._getPullDownHeight()\r\n })\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._$topPocket.toggle(enabled);\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n this._releaseTimeout = setTimeout(function() {\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), 800);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default SwipeDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nimport {\r\n Scroller,\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar ScrollViewScroller = Scroller.inherit({\r\n ctor: function() {\r\n this._topPocketSize = 0;\r\n this.callBase.apply(this, arguments);\r\n this._initCallbacks();\r\n this._releaseState()\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n _updateBounds: function() {\r\n var considerPockets = \"horizontal\" !== this._direction;\r\n this._topPocketSize = considerPockets ? Math.round(this._$topPocket[this._dimension]()) : 0;\r\n this._bottomPocketSize = considerPockets ? Math.round(this._$bottomPocket[this._dimension]()) : 0;\r\n this.callBase();\r\n this._bottomBound = this._minOffset + this._bottomPocketSize\r\n },\r\n _updateScrollbar: function() {\r\n this._scrollbar.option({\r\n containerSize: this._containerSize(),\r\n contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n },\r\n _moveContent: function() {\r\n this.callBase();\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (this._isReachBottom()) {\r\n this._reachBottomReady()\r\n } else if (this._state !== STATE_RELEASED) {\r\n this._stateReleased()\r\n }\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._topPocketSize + this._location)\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= 0\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && this._location - this._bottomBound <= .5\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds() && this._state === STATE_READY) {\r\n this._pullDownRefreshing()\r\n } else if (this._inBounds() && this._state === STATE_LOADING) {\r\n this._reachBottomLoading()\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _reachBottomReady: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return -this._topPocketSize\r\n },\r\n _getMinOffset: function() {\r\n return math.min(this.callBase(), -this._topPocketSize)\r\n },\r\n _reachBottomLoading: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._maxOffset = 0;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._releaseState();\r\n this._updateBounds();\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this.releaseCallbacks.fire()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _releaseHandler: function() {\r\n if (this._state === STATE_RELEASED) {\r\n this._moveToBounds()\r\n }\r\n this._update();\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this._releaseTask = executeAsync(this._release.bind(this));\r\n return this._releaseTask.promise\r\n },\r\n _release: function() {\r\n this._stateReleased();\r\n this._scrollComplete()\r\n },\r\n _reachBottomEnablingHandler: function(enabled) {\r\n if (this._reachBottomEnabled === enabled) {\r\n return\r\n }\r\n this._reachBottomEnabled = enabled;\r\n this._updateBounds()\r\n },\r\n _pullDownEnablingHandler: function(enabled) {\r\n if (this._pullDownEnabled === enabled) {\r\n return\r\n }\r\n this._pullDownEnabled = enabled;\r\n this._considerTopPocketChange();\r\n this._updateHandler()\r\n },\r\n _considerTopPocketChange: function() {\r\n this._location -= this._$topPocket.height() || -this._topPocketSize;\r\n this._maxOffset = 0;\r\n this._move()\r\n },\r\n _pendingReleaseHandler: function() {\r\n this._state = STATE_READY\r\n },\r\n dispose: function() {\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar SimulatedScrollViewStrategy = SimulatedStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$pullDownText = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"
\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"
\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"
\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._eventHandler(\"pullDownEnabling\", enabled)\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._eventHandler(\"reachBottomEnabling\", enabled)\r\n },\r\n _createScroller: function(direction) {\r\n var that = this;\r\n var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction));\r\n scroller.pullDownCallbacks.add((function() {\r\n that.pullDownCallbacks.fire()\r\n }));\r\n scroller.releaseCallbacks.add((function() {\r\n that.releaseCallbacks.fire()\r\n }));\r\n scroller.reachBottomCallbacks.add((function() {\r\n that.reachBottomCallbacks.fire()\r\n }))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return extend(this.callBase(direction), {\r\n $topPocket: this._$topPocket,\r\n $bottomPocket: this._$bottomPocket,\r\n $pullDown: this._$pullDown,\r\n $pullDownText: this._$pullDownText,\r\n $pullingDownText: this._$pullingDownText,\r\n $pulledDownText: this._$pulledDownText,\r\n $refreshingText: this._$refreshingText\r\n })\r\n },\r\n pendingRelease: function() {\r\n this._eventHandler(\"pendingRelease\")\r\n },\r\n release: function() {\r\n return this._eventHandler(\"release\").done(this._updateAction)\r\n },\r\n location: function() {\r\n var location = this.callBase();\r\n location.top += this._$topPocket.height();\r\n return location\r\n },\r\n dispose: function() {\r\n each(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nexport default SimulatedScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport PullDownStrategy from \"./ui.scroll_view.native.pull_down\";\r\nimport SwipeDownStrategy from \"./ui.scroll_view.native.swipe_down\";\r\nimport SimulatedStrategy from \"./ui.scroll_view.simulated\";\r\nimport Scrollable from \"./ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n isMaterial\r\n} from \"./../themes\";\r\nimport LoadPanel from \"../load_panel\";\r\nvar SCROLLVIEW_CLASS = \"dx-scrollview\";\r\nvar SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CLASS + \"-content\";\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_CLASS + \"-top-pocket\";\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_CLASS + \"-bottom-pocket\";\r\nvar SCROLLVIEW_PULLDOWN_CLASS = SCROLLVIEW_CLASS + \"-pull-down\";\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_CLASS + \"-scrollbottom\";\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-indicator\";\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-text\";\r\nvar SCROLLVIEW_LOADPANEL = SCROLLVIEW_CLASS + \"-loadpanel\";\r\nvar refreshStrategies = {\r\n pullDown: PullDownStrategy,\r\n swipeDown: SwipeDownStrategy,\r\n simulated: SimulatedStrategy\r\n};\r\nvar isServerSide = !hasWindow();\r\nvar scrollViewServerConfig = {\r\n finishLoading: noop,\r\n release: noop,\r\n refresh: noop,\r\n _optionChanged: function(args) {\r\n if (\"onUpdated\" !== args.name) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar ScrollView = Scrollable.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n pullingDownText: messageLocalization.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: messageLocalization.format(\"dxScrollView-reachBottomText\"),\r\n onPullDown: null,\r\n onReachBottom: null,\r\n refreshStrategy: \"pullDown\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n return \"android\" === realDevice.platform\r\n },\r\n options: {\r\n refreshStrategy: \"swipeDown\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n reachBottomText: \"\"\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._loadingIndicatorEnabled = true\r\n },\r\n _initScrollableMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SCROLLVIEW_CLASS);\r\n this._initContent();\r\n this._initTopPocket();\r\n this._initBottomPocket();\r\n this._initLoadPanel()\r\n },\r\n _initContent: function() {\r\n var $content = $(\"
\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = $(\"
\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_CLASS);\r\n $topPocket.append($pullDown);\r\n this._$content.prepend($topPocket)\r\n },\r\n _initBottomPocket: function() {\r\n var $bottomPocket = this._$bottomPocket = $(\"
\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$reachBottomText = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_TEXT_CLASS);\r\n this._updateReachBottomText();\r\n $reachBottom.append($loadContainer.append($loadIndicator)).append($text);\r\n $bottomPocket.append($reachBottom);\r\n this._$content.append($bottomPocket)\r\n },\r\n _initLoadPanel: function() {\r\n var $loadPanelElement = $(\"
\").addClass(SCROLLVIEW_LOADPANEL).appendTo(this.$element());\r\n var loadPanelOptions = {\r\n shading: false,\r\n delay: 400,\r\n message: this.option(\"refreshingText\"),\r\n position: {\r\n of: this.$element()\r\n }\r\n };\r\n this._loadPanel = this._createComponent($loadPanelElement, LoadPanel, loadPanelOptions)\r\n },\r\n _updateReachBottomText: function() {\r\n this._$reachBottomText.text(this.option(\"reachBottomText\"))\r\n },\r\n _createStrategy: function() {\r\n var strategyName = this.option(\"useNative\") ? this.option(\"refreshStrategy\") : \"simulated\";\r\n var strategyClass = refreshStrategies[strategyName];\r\n this._strategy = new strategyClass(this);\r\n this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this));\r\n this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this));\r\n this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))\r\n },\r\n _createActions: function() {\r\n this.callBase();\r\n this._pullDownAction = this._createActionByOption(\"onPullDown\");\r\n this._reachBottomAction = this._createActionByOption(\"onReachBottom\");\r\n this._tryRefreshPocketState()\r\n },\r\n _tryRefreshPocketState: function() {\r\n this._pullDownEnable(this.hasActionSubscription(\"onPullDown\"));\r\n this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))\r\n },\r\n on: function(eventName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (\"pullDown\" === eventName || \"reachBottom\" === eventName) {\r\n this._tryRefreshPocketState()\r\n }\r\n return result\r\n },\r\n _pullDownEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._pullDownEnabled\r\n }\r\n if (this._$pullDown && this._strategy) {\r\n this._$pullDown.toggle(enabled);\r\n this._strategy.pullDownEnable(enabled);\r\n this._pullDownEnabled = enabled\r\n }\r\n },\r\n _reachBottomEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._reachBottomEnabled\r\n }\r\n if (this._$reachBottom && this._strategy) {\r\n this._$reachBottom.toggle(enabled);\r\n this._strategy.reachBottomEnable(enabled);\r\n this._reachBottomEnabled = enabled\r\n }\r\n },\r\n _pullDownHandler: function() {\r\n this._loadingIndicator(false);\r\n this._pullDownLoading()\r\n },\r\n _loadingIndicator: function(value) {\r\n if (arguments.length < 1) {\r\n return this._loadingIndicatorEnabled\r\n }\r\n this._loadingIndicatorEnabled = value\r\n },\r\n _pullDownLoading: function() {\r\n this.startLoading();\r\n this._pullDownAction()\r\n },\r\n _reachBottomHandler: function() {\r\n this._loadingIndicator(false);\r\n this._reachBottomLoading()\r\n },\r\n _reachBottomLoading: function() {\r\n this.startLoading();\r\n this._reachBottomAction()\r\n },\r\n _releaseHandler: function() {\r\n this.finishLoading();\r\n this._loadingIndicator(true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onPullDown\":\r\n case \"onReachBottom\":\r\n this._createActions();\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"refreshStrategy\":\r\n this._invalidate();\r\n break;\r\n case \"reachBottomText\":\r\n this._updateReachBottomText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content.children().eq(1))\r\n },\r\n release: function(preventReachBottom) {\r\n if (void 0 !== preventReachBottom) {\r\n this.toggleLoading(!preventReachBottom)\r\n }\r\n return this._strategy.release()\r\n },\r\n toggleLoading: function(showOrHide) {\r\n this._reachBottomEnable(showOrHide)\r\n },\r\n isFull: function() {\r\n return $(this.content()).height() > this._$container.height()\r\n },\r\n refresh: function() {\r\n if (!this.hasActionSubscription(\"onPullDown\")) {\r\n return\r\n }\r\n this._strategy.pendingRelease();\r\n this._pullDownLoading()\r\n },\r\n startLoading: function() {\r\n if (this._loadingIndicator() && this.$element().is(\":visible\")) {\r\n this._loadPanel.show()\r\n }\r\n this._lock()\r\n },\r\n finishLoading: function() {\r\n this._loadPanel.hide();\r\n this._unlock()\r\n },\r\n _dispose: function() {\r\n this._strategy.dispose();\r\n this.callBase();\r\n if (this._loadPanel) {\r\n this._loadPanel.$element().remove()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxScrollView\", ScrollView);\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport devices from \"../../core/devices\";\r\nimport ListItem from \"./item\";\r\nimport Button from \"../button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"../scroll_view/ui.scrollable.device\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.live_update\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_CLASS = \"dx-list\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTOR = \".\" + LIST_ITEM_CLASS;\r\nvar LIST_ITEM_ICON_CONTAINER_CLASS = \"dx-list-item-icon-container\";\r\nvar LIST_ITEM_ICON_CLASS = \"dx-list-item-icon\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar LIST_GROUP_HEADER_CLASS = \"dx-list-group-header\";\r\nvar LIST_GROUP_BODY_CLASS = \"dx-list-group-body\";\r\nvar LIST_COLLAPSIBLE_GROUPS_CLASS = \"dx-list-collapsible-groups\";\r\nvar LIST_GROUP_COLLAPSED_CLASS = \"dx-list-group-collapsed\";\r\nvar LIST_GROUP_HEADER_INDICATOR_CLASS = \"dx-list-group-header-indicator\";\r\nvar LIST_HAS_NEXT_CLASS = \"dx-has-next\";\r\nvar LIST_NEXT_BUTTON_CLASS = \"dx-list-next-button\";\r\nvar WRAP_ITEM_TEXT_CLASS = \"dx-wrap-item-text\";\r\nvar SELECT_ALL_ITEM_SELECTOR = \".dx-list-select-all\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar LIST_FEEDBACK_SHOW_TIMEOUT = 70;\r\nvar groupItemsGetter = compileGetter(\"items\");\r\nvar _scrollView;\r\nexport var ListBase = CollectionWidget.inherit({\r\n _activeStateUnit: [LIST_ITEM_SELECTOR, SELECT_ALL_ITEM_SELECTOR].join(\",\"),\r\n _supportedKeys: function() {\r\n var that = this;\r\n var moveFocusPerPage = function(direction) {\r\n var $item = getEdgeVisibleItem(direction);\r\n var isFocusedItem = $item.is(that.option(\"focusedElement\"));\r\n if (isFocusedItem) {\r\n ! function($item, direction) {\r\n var resultPosition = $item.position().top;\r\n if (\"prev\" === direction) {\r\n resultPosition = $item.position().top - that.$element().height() + $item.outerHeight()\r\n }\r\n that.scrollTo(resultPosition)\r\n }($item, direction);\r\n $item = getEdgeVisibleItem(direction)\r\n }\r\n that.option(\"focusedElement\", getPublicElement($item));\r\n that.scrollToItem($item)\r\n };\r\n\r\n function getEdgeVisibleItem(direction) {\r\n var scrollTop = that.scrollTop();\r\n var containerHeight = that.$element().height();\r\n var $item = $(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return $()\r\n }\r\n while (isItemVisible) {\r\n var $nextItem = $item[direction]();\r\n if (!$nextItem.length) {\r\n break\r\n }\r\n var nextItemLocation = $nextItem.position().top + $nextItem.outerHeight() / 2;\r\n isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop;\r\n if (isItemVisible) {\r\n $item = $nextItem\r\n }\r\n }\r\n return $item\r\n }\r\n return extend(this.callBase(), {\r\n leftArrow: noop,\r\n rightArrow: noop,\r\n pageUp: function() {\r\n moveFocusPerPage(\"prev\");\r\n return false\r\n },\r\n pageDown: function() {\r\n moveFocusPerPage(\"next\");\r\n return false\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n onItemSwipe: null,\r\n grouped: false,\r\n onGroupRendered: null,\r\n collapsibleGroups: false,\r\n groupTemplate: \"group\",\r\n indicateLoading: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n _listAttributes: {\r\n role: \"listbox\"\r\n },\r\n useInkRipple: false,\r\n wrapItemText: false,\r\n _swipeEnabled: true,\r\n _revertPageOnEmptyLoad: false,\r\n showChevronExpr: function(data) {\r\n return data ? data.showChevron : void 0\r\n },\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !nativeScrolling && !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n showScrollbar: \"onHover\",\r\n pageLoadMode: \"nextButton\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n pageLoadingText: \"\",\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateLoadingState(true)\r\n }\r\n },\r\n _itemClass: function() {\r\n return LIST_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return LIST_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _saveSelectionChangeEvent: function(e) {\r\n this._selectionChangeEventInstance = e\r\n },\r\n _getSelectionChangeEvent: function() {\r\n return this._selectionChangeEventInstance\r\n },\r\n _refreshItemElements: function() {\r\n if (!this.option(\"grouped\")) {\r\n this._itemElementsCache = this._itemContainer().children(this._itemSelector())\r\n } else {\r\n this._itemElementsCache = this._itemContainer().children(\".\" + LIST_GROUP_CLASS).children(\".\" + LIST_GROUP_BODY_CLASS).children(this._itemSelector())\r\n }\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var promise = this.callBase(itemElement, toItemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n deleteItem: function(itemElement) {\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n _itemElements: function() {\r\n return this._itemElementsCache\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _resetDataSourcePageIndex: function() {\r\n var currentDataSource = this.getDataSource();\r\n if (currentDataSource && 0 !== currentDataSource.pageIndex()) {\r\n currentDataSource.pageIndex(0);\r\n currentDataSource.load()\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._resetDataSourcePageIndex();\r\n this._$container = this.$element();\r\n this._initScrollView();\r\n this._feedbackShowTimeout = LIST_FEEDBACK_SHOW_TIMEOUT;\r\n this._createGroupRenderAction()\r\n },\r\n _scrollBottomMode: function() {\r\n return \"scrollBottom\" === this.option(\"pageLoadMode\")\r\n },\r\n _nextButtonMode: function() {\r\n return \"nextButton\" === this.option(\"pageLoadMode\")\r\n },\r\n _dataSourceOptions: function() {\r\n var scrollBottom = this._scrollBottomMode();\r\n var nextButton = this._nextButtonMode();\r\n return extend(this.callBase(), {\r\n paginate: ensureDefined(scrollBottom || nextButton, true)\r\n })\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _getGroupContainerByIndex: function(groupIndex) {\r\n return this._itemContainer().find(\".\".concat(LIST_GROUP_CLASS)).eq(groupIndex).find(\".\".concat(LIST_GROUP_BODY_CLASS))\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _initScrollView: function() {\r\n var scrollingEnabled = this.option(\"scrollingEnabled\");\r\n var pullRefreshEnabled = scrollingEnabled && this.option(\"pullRefreshEnabled\");\r\n var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataSource;\r\n this._scrollView = this._createComponent(this.$element(), getScrollView(), {\r\n disabled: this.option(\"disabled\") || !scrollingEnabled,\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null,\r\n onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null,\r\n showScrollbar: this.option(\"showScrollbar\"),\r\n useNative: this.option(\"useNativeScrolling\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n reachBottomText: this.option(\"pageLoadingText\"),\r\n useKeyboard: false\r\n });\r\n this._$container = $(this._scrollView.content());\r\n if (this.option(\"wrapItemText\")) {\r\n this._$container.addClass(WRAP_ITEM_TEXT_CLASS)\r\n }\r\n this._createScrollViewActions()\r\n },\r\n _createScrollViewActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\");\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction && this._scrollAction(e)\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n group: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n if (data.key) {\r\n $container.text(data.key)\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n }), [\"key\"], this.option(\"integrationOptions.watchMethod\"))\r\n });\r\n this.callBase()\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n this.callBase(data, $container);\r\n if (data.icon) {\r\n var $icon = getImageContainer(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = $(\"
\").addClass(LIST_ITEM_ICON_CONTAINER_CLASS);\r\n $iconContainer.append($icon);\r\n $container.prepend($iconContainer)\r\n }\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\", \"icon\"]\r\n },\r\n _updateLoadingState: function(tryLoadMore) {\r\n var isDataLoaded = !tryLoadMore || this._isLastPage();\r\n var scrollBottomMode = this._scrollBottomMode();\r\n var stopLoading = isDataLoaded || !scrollBottomMode;\r\n var hideLoadIndicator = stopLoading && !this._isDataSourceLoading();\r\n if (stopLoading || this._scrollViewIsFull()) {\r\n this._scrollView.release(hideLoadIndicator);\r\n this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage());\r\n this._loadIndicationSuppressed(false)\r\n } else {\r\n this._infiniteDataLoading()\r\n }\r\n },\r\n _shouldRenderNextButton: function() {\r\n return this._nextButtonMode() && this._dataSource && this._dataSource.isLoaded()\r\n },\r\n _isDataSourceFirstLoadCompleted: function(newValue) {\r\n if (isDefined(newValue)) {\r\n this._isFirstLoadCompleted = newValue\r\n }\r\n return this._isFirstLoadCompleted\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n if (this._loadIndicationSuppressed()) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n this._showLoadingIndicatorTimer = setTimeout(function() {\r\n var isEmpty = !this._itemElements().length;\r\n var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted();\r\n if (shouldIndicateLoading) {\r\n var _this$_scrollView;\r\n null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading()\r\n }\r\n }.bind(this))\r\n } else {\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this._scrollView && this._scrollView.finishLoading()\r\n }\r\n if (!isLoading) {\r\n this._isDataSourceFirstLoadCompleted(false)\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (!this._shouldAppendItems() && hasWindow()) {\r\n this._scrollView && this._scrollView.scrollTo(0)\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._isDataSourceFirstLoadCompleted(true)\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._fireContentReadyAction()\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _loadIndicationSuppressed: function(value) {\r\n if (!arguments.length) {\r\n return this._isLoadIndicationSuppressed\r\n }\r\n this._isLoadIndicationSuppressed = value\r\n },\r\n _scrollViewIsFull: function() {\r\n return !this._scrollView || this._scrollView.isFull()\r\n },\r\n _pullDownHandler: function(e) {\r\n this._pullRefreshAction(e);\r\n if (this._dataSource && !this._isDataSourceLoading()) {\r\n this._clearSelectedItems();\r\n this._dataSource.pageIndex(0);\r\n this._dataSource.reload()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _infiniteDataLoading: function() {\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible && !this._scrollViewIsFull() && !this._isDataSourceLoading() && !this._isLastPage()) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout(() => {\r\n this._loadNextPage().done(this._setPreviousPageIfNewIsEmpty.bind(this))\r\n })\r\n }\r\n },\r\n _setPreviousPageIfNewIsEmpty: function(result) {\r\n if (this.option(\"_revertPageOnEmptyLoad\")) {\r\n var dataSource = this.getDataSource();\r\n var pageIndex = null === dataSource || void 0 === dataSource ? void 0 : dataSource.pageIndex();\r\n if (0 === (null === result || void 0 === result ? void 0 : result.length) && pageIndex > 0) {\r\n this._fireContentReadyAction();\r\n dataSource.pageIndex(pageIndex - 1)\r\n }\r\n }\r\n },\r\n _scrollBottomHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n if (!this._isDataSourceLoading() && !this._isLastPage()) {\r\n this._loadNextPage()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (this.option(\"grouped\")) {\r\n each(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if (isMaterial()) {\r\n this.attachGroupHeaderInkRippleEvents()\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n _attachGroupCollapseEvent: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n var collapsibleGroups = this.option(\"collapsibleGroups\");\r\n $element.toggleClass(LIST_COLLAPSIBLE_GROUPS_CLASS, collapsibleGroups);\r\n eventsEngine.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n eventsEngine.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = $(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", getPublicElement($group.find(\".\" + LIST_ITEM_CLASS).eq(0)))\r\n }\r\n }.bind(this), {\r\n validatingTargetName: \"element\"\r\n })({\r\n event: e\r\n })\r\n }.bind(this))\r\n }\r\n },\r\n _collapseGroupHandler: function($group, toggle) {\r\n var deferred = new Deferred;\r\n if ($group.hasClass(LIST_GROUP_COLLAPSED_CLASS) === toggle) {\r\n return deferred.resolve()\r\n }\r\n var $groupBody = $group.children(\".\" + LIST_GROUP_BODY_CLASS);\r\n var startHeight = $groupBody.outerHeight();\r\n var endHeight = 0 === startHeight ? $groupBody.height(\"auto\").outerHeight() : 0;\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n fx.animate($groupBody, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: 200,\r\n complete: function() {\r\n this.updateDimensions();\r\n this._updateLoadingState();\r\n deferred.resolve()\r\n }.bind(this)\r\n });\r\n return deferred.promise()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n if (this._initialized) {\r\n this._renderEmptyMessage();\r\n this._updateLoadingState()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._itemElementsCache = $();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria(\"role\", this.option(\"_listAttributes\").role)\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n var that = this;\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n if (isMaterial()) {\r\n this._inkRippleTimer = setTimeout((function() {\r\n that._inkRipple.showWave(config)\r\n }), LIST_FEEDBACK_SHOW_TIMEOUT / 2)\r\n } else {\r\n that._inkRipple.showWave(config)\r\n }\r\n } else {\r\n clearTimeout(this._inkRippleTimer);\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this._refreshItemElements();\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"_swipeEnabled\")) {\r\n this._attachSwipeEvent($(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = addNamespace(swipeEventEnd, this.NAME);\r\n eventsEngine.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemSwipe\", {\r\n direction: e.offset < 0 ? \"left\" : \"right\"\r\n })\r\n },\r\n _nextButtonHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var source = this._dataSource;\r\n if (source && !source.isLoading()) {\r\n this._scrollView.toggleLoading(true);\r\n this._$nextButton.detach();\r\n this._loadIndicationSuppressed(true);\r\n this._loadNextPage()\r\n }\r\n },\r\n _renderGroup: function(index, group) {\r\n var $groupElement = $(\"
\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var $groupHeaderElement = $(\"
\").addClass(LIST_GROUP_HEADER_CLASS).appendTo($groupElement);\r\n var groupTemplateName = this.option(\"groupTemplate\");\r\n var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement);\r\n var renderArgs = {\r\n index: index,\r\n itemData: group,\r\n container: getPublicElement($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if (isMaterial()) {\r\n $(\"
\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = $(\"
\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n each(groupItemsGetter(group) || [], function(index, item) {\r\n this._renderItem(index, item, $groupBody)\r\n }.bind(this));\r\n this._groupRenderAction({\r\n groupElement: getPublicElement($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), false)\r\n },\r\n attachGroupHeaderInkRippleEvents: function() {\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this);\r\n this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this);\r\n var downArguments = [$element, \"dxpointerdown\", selector, this._downInkRippleHandler];\r\n var upArguments = [$element, \"dxpointerup dxpointerout\", selector, this._upInkRippleHandler];\r\n eventsEngine.off(...downArguments);\r\n eventsEngine.on(...downArguments);\r\n eventsEngine.off(...upArguments);\r\n eventsEngine.on(...upArguments)\r\n },\r\n _createGroupRenderAction: function() {\r\n this._groupRenderAction = this._createActionByOption(\"onGroupRendered\")\r\n },\r\n _clean: function() {\r\n clearTimeout(this._inkRippleTimer);\r\n if (this._$nextButton) {\r\n this._$nextButton.remove();\r\n this._$nextButton = null\r\n }\r\n delete this._inkRipple;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _dispose: function() {\r\n this._isDataSourceFirstLoadCompleted(false);\r\n clearTimeout(this._holdTimer);\r\n clearTimeout(this._loadNextPageTimer);\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this.callBase()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(value);\r\n this._scrollView.option(\"disabled\", value || !this.option(\"scrollingEnabled\"))\r\n },\r\n _toggleNextButton: function(value) {\r\n var dataSource = this._dataSource;\r\n var $nextButton = this._getNextButton();\r\n this.$element().toggleClass(LIST_HAS_NEXT_CLASS, value);\r\n if (value && dataSource && dataSource.isLoaded()) {\r\n $nextButton.appendTo(this._itemContainer())\r\n }\r\n if (!value) {\r\n $nextButton.detach()\r\n }\r\n },\r\n _getNextButton: function() {\r\n if (!this._$nextButton) {\r\n this._$nextButton = this._createNextButton()\r\n }\r\n return this._$nextButton\r\n },\r\n _createNextButton: function() {\r\n var $result = $(\"
\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = $(\"
\").appendTo($result);\r\n this._createComponent($button, Button, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: isMaterial() ? \"default\" : void 0,\r\n integrationOptions: {}\r\n });\r\n return $result\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _refresh: function() {\r\n if (!hasWindow()) {\r\n this.callBase()\r\n } else {\r\n var scrollTop = this._scrollView.scrollTop();\r\n this.callBase();\r\n scrollTop && this._scrollView.scrollTo(scrollTop)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"pageLoadMode\":\r\n this._toggleNextButton(args.value);\r\n this._initScrollView();\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initScrollView();\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"items\":\r\n this.callBase(args);\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"showScrollbar\":\r\n case \"bounceEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"useNativeScrolling\":\r\n case \"scrollingEnabled\":\r\n case \"pullRefreshEnabled\":\r\n this._initScrollView();\r\n this._updateLoadingState();\r\n break;\r\n case \"nextButtonText\":\r\n case \"onItemSwipe\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"onScroll\":\r\n case \"onPullRefresh\":\r\n case \"onPageLoading\":\r\n this._createScrollViewActions();\r\n break;\r\n case \"grouped\":\r\n case \"collapsibleGroups\":\r\n case \"groupTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"wrapItemText\":\r\n this._$container.toggleClass(WRAP_ITEM_TEXT_CLASS, args.value);\r\n break;\r\n case \"onGroupRendered\":\r\n this._createGroupRenderAction();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"rtlEnabled\":\r\n this._initScrollView();\r\n this.callBase(args);\r\n break;\r\n case \"showChevronExpr\":\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"_swipeEnabled\":\r\n case \"_revertPageOnEmptyLoad\":\r\n case \"_listAttributes\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n if (!this.option(\"grouped\")) {\r\n return this.callBase($itemElement)\r\n }\r\n var $group = $itemElement.closest(\".\" + LIST_GROUP_CLASS);\r\n var $item = $group.find(\".\" + LIST_ITEM_CLASS);\r\n return extend(this.callBase($itemElement), {\r\n itemIndex: {\r\n group: $group.index(),\r\n item: $item.index($itemElement)\r\n }\r\n })\r\n },\r\n expandGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, false).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n collapseGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, true).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollView) {\r\n that._scrollView.update().done((function() {\r\n !that._scrollViewIsFull() && that._updateLoadingState(true);\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reload: function() {\r\n this.callBase();\r\n this.scrollTo(0);\r\n this._pullDownHandler()\r\n },\r\n repaint: function() {\r\n this.scrollTo(0);\r\n this.callBase()\r\n },\r\n scrollTop: function() {\r\n return this._scrollView.scrollOffset().top\r\n },\r\n clientHeight: function() {\r\n return this._scrollView.clientHeight()\r\n },\r\n scrollHeight: function() {\r\n return this._scrollView.scrollHeight()\r\n },\r\n scrollBy: function(distance) {\r\n this._scrollView.scrollBy(distance)\r\n },\r\n scrollTo: function(location) {\r\n this._scrollView.scrollTo(location)\r\n },\r\n scrollToItem: function(itemElement) {\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n this._scrollView.scrollToElement($item)\r\n }\r\n}).include(DataConverterMixin);\r\nListBase.ItemClass = ListItem;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || ScrollView\r\n}\r\nexport function setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ScrollView from \"./scroll_view/ui.scroll_view\";\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidget from \"./ui.collection_widget.edit\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n update,\r\n insert,\r\n indexByKey\r\n} from \"../../data/array_utils\";\r\nimport dataUtils from \"../../data/utils\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n findChanges\r\n} from \"../../core/utils/array_compare\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nexport default CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = e => {\r\n var dataSource = this._dataSource;\r\n if (dataSource && !dataSource.isLoaded()) {\r\n this._correctionIndex = 0\r\n }\r\n if (this._correctionIndex && e.storeLoadOptions) {\r\n e.storeLoadOptions.skip += this._correctionIndex\r\n }\r\n }, this._dataSource && this._dataSource.on(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions)\r\n },\r\n reload: function() {\r\n this._correctionIndex = 0\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshItemsCache();\r\n this._correctionIndex = 0\r\n },\r\n _findItemElementByKey: function(key) {\r\n var result = $();\r\n var keyExpr = this.key();\r\n this.itemElements().each((_, item) => {\r\n var $item = $(item);\r\n var itemData = this._getItemData($item);\r\n if (keyExpr ? dataUtils.keysEqual(keyExpr, this.keyOf(itemData), key) : this._isItemEquals(itemData, key)) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function(newItems, e) {\r\n if (null !== e && void 0 !== e && e.changes) {\r\n this._modifyByChanges(e.changes)\r\n } else {\r\n this.callBase(newItems, e);\r\n this._refreshItemsCache()\r\n }\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (item1 && item1[PRIVATE_KEY_FIELD]) {\r\n item1 = item1.data\r\n }\r\n try {\r\n return JSON.stringify(item1) === JSON.stringify(item2)\r\n } catch (e) {\r\n return item1 === item2\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n return this._isItemEquals(item1, item2)\r\n },\r\n _shouldAddNewGroup: function(changes, items) {\r\n var result = false;\r\n if (this.option(\"grouped\")) {\r\n each(changes, (i, change) => {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n each(items, (_, item) => {\r\n if (change.data.key === item.key) {\r\n result = false;\r\n return false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _partialRefresh: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = findChanges(this._itemsCache, this._editStrategy.itemsGetter(), data => {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return this.keyOf(data)\r\n }, this._isItemStrictEquals.bind(this));\r\n if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) {\r\n this._modifyByChanges(result, true);\r\n this._renderEmptyMessage();\r\n return true\r\n } else {\r\n this._refreshItemsCache()\r\n }\r\n }\r\n return false\r\n },\r\n _refreshItemsCache: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var items = this._editStrategy.itemsGetter();\r\n try {\r\n this._itemsCache = extend(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((itemCache, index) => ({\r\n [PRIVATE_KEY_FIELD]: items[index],\r\n data: itemCache\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = extend([], items)\r\n }\r\n }\r\n },\r\n _dispose: function() {\r\n this._dataSource && this._dataSource.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions);\r\n this.callBase()\r\n },\r\n _updateByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n if (isPartialRefresh) {\r\n this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key))\r\n } else {\r\n var changedItem = items[indexByKey(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n update(keyInfo, items, change.key, change.data).done(() => {\r\n this._renderItem(items.indexOf(changedItem), changedItem, null, this._findItemElementByKey(change.key))\r\n })\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n when(isPartialRefresh || insert(keyInfo, items, change.data, change.index)).done(() => {\r\n var _change$index;\r\n this._beforeItemElementInserted(change);\r\n var $itemContainer = this._getItemContainer(change.data);\r\n this._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n this._afterItemElementInserted();\r\n this._correctionIndex++\r\n })\r\n },\r\n _getItemContainer: function(changeData) {\r\n return this._itemContainer()\r\n },\r\n _updateSelectionAfterRemoveByChange: function(removeIndex) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (selectedIndex > removeIndex) {\r\n this.option(\"selectedIndex\", selectedIndex - 1)\r\n } else if (selectedIndex === removeIndex && 1 === this.option(\"selectedItems\").length) {\r\n this.option(\"selectedItems\", [])\r\n } else {\r\n this._normalizeSelectedItems()\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (change.index <= selectedIndex) {\r\n this.option(\"selectedIndex\", selectedIndex + 1)\r\n }\r\n },\r\n _afterItemElementInserted: noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var index = isPartialRefresh ? change.index : indexByKey(keyInfo, items, change.key);\r\n var removedItem = isPartialRefresh ? change.oldItem : items[index];\r\n if (removedItem) {\r\n var $removedItemElement = this._findItemElementByKey(change.key);\r\n var deletedActionArgs = this._extendActionArgs($removedItemElement);\r\n this._waitDeletingPrepare($removedItemElement).done(() => {\r\n if (isPartialRefresh) {\r\n this._updateIndicesAfterIndex(index - 1);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n this._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n this._deleteItemElementByIndex(index);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n });\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var items = this._editStrategy.itemsGetter();\r\n var keyInfo = {\r\n key: this.key.bind(this),\r\n keyOf: this.keyOf.bind(this)\r\n };\r\n var dataSource = this._dataSource;\r\n var paginate = dataSource && dataSource.paginate();\r\n var group = dataSource && dataSource.group();\r\n if (paginate || group) {\r\n changes = changes.filter(item => \"insert\" !== item.type || void 0 !== item.index)\r\n }\r\n changes.forEach(change => this[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh));\r\n this._renderedItemsCount = items.length;\r\n this._refreshItemsCache();\r\n this._fireContentReadyAction()\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n var nextSiblingElement = $container.children(this._itemSelector()).get(index);\r\n domAdapter.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n var isItemsUpdated = this._partialRefresh(args.value);\r\n if (!isItemsUpdated) {\r\n this.callBase(args)\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!this.option(\"repaintChangesOnly\") || !args.value) {\r\n this.option(\"items\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"repaintChangesOnly\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.context.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar CONTEXTMENU_CLASS = \"dx-list-context-menu\";\r\nvar CONTEXTMENU_MENUCONTENT_CLASS = \"dx-list-context-menucontent\";\r\nregisterDecorator(\"menu\", \"context\", EditDecorator.inherit({\r\n _init: function() {\r\n var $menu = $(\"
\").addClass(CONTEXTMENU_CLASS);\r\n this._list.$element().append($menu);\r\n this._menu = this._renderOverlay($menu)\r\n },\r\n _renderOverlay: function($element) {\r\n return this._list._createComponent($element, Overlay, {\r\n shading: false,\r\n deferRendering: true,\r\n closeOnTargetScroll: true,\r\n closeOnOutsideClick: function(e) {\r\n return !$(e.target).closest(\".\" + CONTEXTMENU_CLASS).length\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n height: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n height: function() {\r\n return this._$menuList.outerHeight()\r\n }.bind(this),\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 0,\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n }\r\n }\r\n },\r\n height: function() {\r\n return this._$menuList ? this._$menuList.outerHeight() : 0\r\n }.bind(this),\r\n width: function() {\r\n return this._list.$element().outerWidth()\r\n }.bind(this),\r\n onContentReady: this._renderMenuContent.bind(this)\r\n })\r\n },\r\n _renderMenuContent: function(e) {\r\n var $overlayContent = e.component.$content();\r\n var items = this._menuItems().slice();\r\n if (this._deleteEnabled()) {\r\n items.push({\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n action: this._deleteItem.bind(this)\r\n })\r\n }\r\n this._$menuList = $(\"
\");\r\n this._list._createComponent(this._$menuList, ListBase, {\r\n items: items,\r\n onItemClick: this._menuItemClickHandler.bind(this),\r\n height: \"auto\",\r\n integrationOptions: {}\r\n });\r\n $overlayContent.addClass(CONTEXTMENU_MENUCONTENT_CLASS);\r\n $overlayContent.append(this._$menuList)\r\n },\r\n _menuItemClickHandler: function(args) {\r\n this._menu.hide();\r\n this._fireMenuAction(this._$itemWithMenu, args.itemData.action)\r\n },\r\n _deleteItem: function() {\r\n this._list.deleteItem(this._$itemWithMenu)\r\n },\r\n handleContextMenu: function($itemElement) {\r\n this._$itemWithMenu = $itemElement;\r\n this._menu.option({\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: $itemElement,\r\n collision: \"flip\"\r\n }\r\n });\r\n this._menu.show();\r\n return true\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_button.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RadioButton = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false,\r\n useInkRipple: false\r\n })\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RADIO_BUTTON_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderIcon();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this._renderCheckedState(this.option(\"value\"));\r\n this._renderClick();\r\n this.setAria(\"role\", \"radio\")\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render({\r\n waveSizeCoefficient: 3.3,\r\n useHoldAnimation: false,\r\n wavesNumber: 2,\r\n isCentered: true\r\n })\r\n },\r\n _renderInkWave: function(element, dxEvent, doRender, waveIndex) {\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: element,\r\n event: dxEvent,\r\n wave: waveIndex\r\n };\r\n if (doRender) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _updateFocusState: function(e, value) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 0)\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 1)\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"
\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"
\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo(this._$icon);\r\n this.$element().append(this._$icon)\r\n },\r\n _renderCheckedState: function(checked) {\r\n this.$element().toggleClass(RADIO_BUTTON_CHECKED_CLASS, checked).find(\".\" + RADIO_BUTTON_ICON_CLASS).toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, checked);\r\n this.setAria(\"checked\", checked)\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(e) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n this._renderCheckedState(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxRadioButton\", RadioButton);\r\nexport default RadioButton;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport CheckBox from \"../check_box\";\r\nimport RadioButton from \"../radio_group/radio_button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar SELECT_DECORATOR_ENABLED_CLASS = \"dx-list-select-decorator-enabled\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CLASS = \"dx-list-select-all\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS = \"dx-list-select-all-checkbox\";\r\nvar SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS = \"dx-list-select-all-label\";\r\nvar SELECT_CHECKBOX_CONTAINER_CLASS = \"dx-list-select-checkbox-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-list-select-checkbox\";\r\nvar SELECT_RADIO_BUTTON_CONTAINER_CLASS = \"dx-list-select-radiobutton-container\";\r\nvar SELECT_RADIO_BUTTON_CLASS = \"dx-list-select-radiobutton\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, \"dxListEditDecorator\");\r\nregisterDecorator(\"selection\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectionMode = this._list.option(\"selectionMode\");\r\n this._singleStrategy = \"single\" === selectionMode;\r\n this._containerClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CONTAINER_CLASS : SELECT_CHECKBOX_CONTAINER_CLASS;\r\n this._controlClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CLASS : SELECT_CHECKBOX_CLASS;\r\n this._controlWidget = this._singleStrategy ? RadioButton : CheckBox;\r\n this._list.$element().addClass(SELECT_DECORATOR_ENABLED_CLASS)\r\n },\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container.addClass(this._containerClass);\r\n var $control = $(\"
\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, extend(this._commonOptions(), {\r\n value: this._isSelected($itemElement),\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n onValueChanged: function(e) {\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n this._processCheckedState($itemElement, e.value);\r\n e.event && e.event.stopPropagation()\r\n }.bind(this)\r\n }))\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n var control = this._controlWidget.getInstance($itemElement.find(\".\" + this._controlClass));\r\n eventsEngine.on($itemElement, \"stateChanged\", function(e, state) {\r\n control.option(\"value\", state)\r\n }.bind(this))\r\n },\r\n _updateSelectAllState: function() {\r\n if (!this._$selectAll) {\r\n return\r\n }\r\n this._selectAllCheckBox.option(\"value\", this._list.isSelectAll())\r\n },\r\n afterRender: function() {\r\n if (\"all\" !== this._list.option(\"selectionMode\")) {\r\n return\r\n }\r\n if (!this._$selectAll) {\r\n this._renderSelectAll()\r\n } else {\r\n this._updateSelectAllState()\r\n }\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n var moveFocusDown = !moveFocusUp;\r\n var list = this._list;\r\n var $selectAll = this._$selectAll;\r\n var lastItemIndex = list._getLastItemIndex();\r\n var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex;\r\n var hasSelectAllItem = !!$selectAll;\r\n if (hasSelectAllItem && isFocusOutOfList) {\r\n list.option(\"focusedElement\", $selectAll);\r\n list.scrollToItem(list.option(\"focusedElement\"));\r\n return true\r\n }\r\n return false\r\n },\r\n handleEnterPressing: function(e) {\r\n if (this._$selectAll && this._$selectAll.hasClass(FOCUSED_STATE_CLASS)) {\r\n e.target = this._$selectAll.get(0);\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"));\r\n return true\r\n }\r\n },\r\n _renderSelectAll: function() {\r\n var $selectAll = this._$selectAll = $(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_CLASS);\r\n var list = this._list;\r\n var downArrowHandler = list._supportedKeys().downArrow.bind(list);\r\n this._selectAllCheckBox = list._createComponent($(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), CheckBox, {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n });\r\n this._selectAllCheckBox.registerKeyHandler(\"downArrow\", downArrowHandler);\r\n $(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS).text(this._list.option(\"selectAllText\")).appendTo($selectAll);\r\n this._list.itemsContainer().prepend($selectAll);\r\n this._updateSelectAllState();\r\n this._attachSelectAllHandler()\r\n },\r\n _attachSelectAllHandler: function() {\r\n this._selectAllCheckBox.option(\"onValueChanged\", this._selectAllHandler.bind(this));\r\n eventsEngine.off(this._$selectAll, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this))\r\n },\r\n _selectAllHandler: function(e) {\r\n e.event && e.event.stopPropagation();\r\n var isSelectedAll = this._selectAllCheckBox.option(\"value\");\r\n var result = this._list._createActionByOption(\"onSelectAllValueChanged\")({\r\n value: isSelectedAll\r\n });\r\n if (false === result) {\r\n return\r\n }\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n if (true === isSelectedAll) {\r\n this._selectAllItems()\r\n } else if (false === isSelectedAll) {\r\n this._unselectAllItems()\r\n }\r\n },\r\n _checkSelectAllCapability: function() {\r\n var list = this._list;\r\n var dataSource = list.getDataSource();\r\n if (\"allPages\" === list.option(\"selectAllMode\") && list.option(\"grouped\") && (!dataSource || !dataSource.group())) {\r\n errors.log(\"W1010\");\r\n return false\r\n }\r\n return true\r\n },\r\n _selectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.selectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _unselectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.deselectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _selectAllClickHandler: function(e) {\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"))\r\n },\r\n _isSelected: function($itemElement) {\r\n return this._list.isItemSelected($itemElement)\r\n },\r\n _processCheckedState: function($itemElement, checked) {\r\n if (checked) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeSelectAll();\r\n this._list.$element().removeClass(SELECT_DECORATOR_ENABLED_CLASS);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeSelectAll: function() {\r\n if (this._$selectAll) {\r\n this._$selectAll.remove();\r\n this._$selectAll = null\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/draggable.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n getElementsFromPoint,\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n quadToObject\r\n} from \"../core/utils/string\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport Animator from \"./scroll_view/animator\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n addNamespace,\r\n needSkipEvent\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave\r\n} from \"../events/drag\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n isFunction,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../core/utils/common\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n when,\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventStart, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = addNamespace(dragEventMove, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = addNamespace(dragEventEnd, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = addNamespace(dragEventEnter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = addNamespace(dragEventLeave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = event => ({\r\n x: event.pageX - $(window).scrollLeft(),\r\n y: event.pageY - $(window).scrollTop()\r\n});\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nclass ScrollHelper {\r\n constructor(orientation, component) {\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n updateScrollable(elements, mousePosition) {\r\n var needResetScrollable = !elements.some(element => {\r\n var $element = $(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS) && \"none\" !== $element.css(\"pointerEvents\");\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n return isTargetOverOverlayWrapper || isTargetOverOverlayContent || this._trySetScrollable(element, mousePosition)\r\n });\r\n if (needResetScrollable) {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0\r\n }\r\n }\r\n isScrolling() {\r\n return !!this._scrollSpeed\r\n }\r\n isScrollable($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > $element[this._sizeAttr]()\r\n }\r\n _trySetScrollable(element, mousePosition) {\r\n var $element = $(element);\r\n var distanceToBorders;\r\n var sensitivity = this._component.option(\"scrollSensitivity\");\r\n var isScrollable = this.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = this._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[this._limitProps.start]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else if (sensitivity > distanceToBorders[this._limitProps.end]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n this._preventScroll = false\r\n }\r\n }\r\n return isScrollable\r\n }\r\n _calculateDistanceToBorders($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = getBoundingRect(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n } else {\r\n return {}\r\n }\r\n }\r\n _calculateScrollSpeed(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n }\r\n scrollByStep() {\r\n if (this._$scrollableAtPointer && this._scrollSpeed) {\r\n if (this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = this._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed;\r\n scrollableInstance.scrollTo({\r\n [this._limitProps.start]: nextScrollPosition\r\n })\r\n }\r\n } else {\r\n var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed;\r\n this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = this._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n this._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n }\r\n reset() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n }\r\n isOutsideScrollable($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = getBoundingRect($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n }\r\n}\r\nvar ScrollAnimator = Animator.inherit({\r\n ctor: function(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step: function() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = DOMComponent.inherit({\r\n reset: noop,\r\n dragMove: noop,\r\n dragEnter: noop,\r\n dragLeave: noop,\r\n dragEnd: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return (new Deferred).resolve()\r\n },\r\n _fireRemoveEvent: noop,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase.apply(this, arguments);\r\n extend(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this)\r\n },\r\n _normalizeCursorOffset: function(offset) {\r\n if (isObject(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = splitPair(offset).map(value => parseFloat(value));\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset: function(offset, options) {\r\n if (isFunction(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset: function(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var event = options.event;\r\n var $element = $(options.itemElement);\r\n var $dragElement = $(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = locate($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition: function(options) {\r\n var $dragElement = $(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = locate($dragElement)\r\n },\r\n _startAnimator: function() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator: function() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix: function(className) {\r\n var componentName = this.NAME;\r\n return dasherize(componentName) + (className ? \"-\" + className : \"\")\r\n },\r\n _getItemsSelector: function() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content: function() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: ($target, event) => {\r\n var targetGroup = this.option(\"group\");\r\n var sourceGroup = this._getSourceDraggable().option(\"group\");\r\n var $scrollable = this._getScrollable($target);\r\n if (this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n eventsEngine.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n eventsEngine.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n eventsEngine.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n eventsEngine.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this))\r\n },\r\n _dragElementIsCloned: function() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs: function($element, $container) {\r\n return {\r\n container: getPublicElement($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: getPublicElement($element)\r\n }\r\n }\r\n },\r\n _createDragElement: function($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = $(\"
\").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = $(\"
\").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement: function() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement: function() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$content(), \".\" + DRAGGABLE);\r\n eventsEngine.off(this._getArea(), \".\" + DRAGGABLE)\r\n },\r\n _move: function(position, $element) {\r\n move($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement: function(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = $(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement: function() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (needSkipEvent(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + locate($element).left - $element.width() / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + locate($element).top - $element.height() / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement: function(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = $(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this._getDraggableElement(e);\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition(extend({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = $area.outerWidth();\r\n var areaHeight = $area.outerHeight();\r\n var elementWidth = $dragElement.width();\r\n var elementHeight = $dragElement.height();\r\n var startOffset_left = $dragElement.offset().left - areaOffset.left,\r\n startOffset_top = $dragElement.offset().top - areaOffset.top;\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset_left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset_top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset: function($area) {\r\n var offset = $area && positionUtils.offset($area);\r\n return offset ? offset : {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass: function(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor: function($element) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset: function() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if (isFunction(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return quadToObject(boundOffset)\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"boundary\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n return $(area)\r\n },\r\n _getContainer: function() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = viewPort()\r\n }\r\n return $(container)\r\n },\r\n _dragMoveHandler: function(e, scrollBy) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = e.offset;\r\n var startPosition = this._startPosition;\r\n this._move({\r\n left: startPosition.left + offset.x,\r\n top: startPosition.top + offset.y\r\n });\r\n if (!scrollBy) {\r\n this._updateScrollable(e)\r\n }\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable: function(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = getElementsFromPoint(mousePosition.x, mousePosition.y);\r\n this._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n _getScrollable: function($element) {\r\n var $scrollable;\r\n $element.parents().toArray().some(parent => {\r\n var $parent = $(parent);\r\n if (this._horizontalScrollHelper.isScrollable($parent) || this._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n });\r\n return $scrollable\r\n },\r\n _defaultActionArgs: function() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: getPublicElement(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition: function() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler: function(e) {\r\n var d = new Deferred;\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n when(fromPromise(dragEndEventArgs.cancel)).done(cancel => {\r\n if (!cancel) {\r\n if (targetDraggable !== this) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n when(fromPromise(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(() => {\r\n if (needRevertPosition) {\r\n this._revertItemToInitialPosition()\r\n }\r\n this.reset();\r\n targetDraggable.reset();\r\n this._stopAnimator();\r\n this._horizontalScrollHelper.reset();\r\n this._verticalScrollHelper.reset();\r\n this._resetDragElement();\r\n this._resetSourceElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable()\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = getElementsFromPoint(mousePosition.x, mousePosition.y);\r\n var firstWidgetElement = elements.filter(element => {\r\n var $element = $(element);\r\n if ($element.hasClass(this._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = $(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler: function(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler: function(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _getAction: function(name) {\r\n return this[\"_\" + name + \"Action\"] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n $(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n this[\"_\" + name + \"Action\"] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable: function() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable: function() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable: function() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable: function() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable: function() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable: function() {\r\n targetDraggable = null\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\nregisterComponent(DRAGGABLE, Draggable);\r\nexport default Draggable;\r\n","/**\r\n * DevExtreme (esm/ui/sortable.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport Draggable from \"./draggable\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar window = getWindow();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = itemElement => $(itemElement).is(\":visible\");\r\nvar animate = (element, config) => {\r\n var _config$to, _config$to2;\r\n if (!element) {\r\n return\r\n }\r\n var left = (null === (_config$to = config.to) || void 0 === _config$to ? void 0 : _config$to.left) || 0;\r\n var top = (null === (_config$to2 = config.to) || void 0 === _config$to2 ? void 0 : _config$to2.top) || 0;\r\n element.style.transform = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\r\n element.style.transition = fx.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = element => {\r\n if (!element) {\r\n return\r\n }\r\n element.style.transform = \"\";\r\n element.style.transition = \"\"\r\n};\r\n\r\nfunction getScrollableBoundary($scrollable) {\r\n var offset = $scrollable.offset();\r\n var style = $scrollable[0].style;\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var paddingRight = parseFloat(style.paddingRight) || 0;\r\n var paddingTop = parseFloat(style.paddingTop) || 0;\r\n var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight);\r\n var height = $scrollable.height();\r\n var left = offset.left + paddingLeft;\r\n var top = offset.top + paddingTop;\r\n return {\r\n left: left,\r\n right: left + width,\r\n top: top,\r\n bottom: top + height\r\n }\r\n}\r\nvar Sortable = Draggable.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n clone: true,\r\n filter: \"> *\",\r\n itemOrientation: \"vertical\",\r\n dropFeedbackMode: \"push\",\r\n allowDropInsideItem: false,\r\n allowReordering: true,\r\n moveItemOnDrop: false,\r\n onDragChange: null,\r\n onAdd: null,\r\n onRemove: null,\r\n onReorder: null,\r\n onPlaceholderPrepared: null,\r\n animation: {\r\n type: \"slide\",\r\n duration: 300,\r\n easing: \"ease\"\r\n },\r\n fromIndex: null,\r\n toIndex: null,\r\n dropInsideItem: false,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n offset: 0,\r\n autoUpdate: false,\r\n draggableElementSize: 0\r\n })\r\n },\r\n reset: function() {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null,\r\n fromIndex: null,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n draggableElementSize: 0\r\n });\r\n if (this._$placeholderElement) {\r\n this._$placeholderElement.remove()\r\n }\r\n this._$placeholderElement = null;\r\n if (!this._isIndicateMode() && this._$modifiedItem) {\r\n this._$modifiedItem.css(\"marginBottom\", this._modifiedItemMargin);\r\n this._$modifiedItem = null\r\n }\r\n },\r\n _getPrevVisibleItem: function(items, index) {\r\n return items.slice(0, index).reverse().filter(isElementVisible)[0]\r\n },\r\n _dragStartHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (true === e.cancel) {\r\n return\r\n }\r\n var $sourceElement = this._getSourceElement();\r\n this._updateItemPoints();\r\n this._subscribeToSourceScroll(e);\r\n this.option(\"fromIndex\", this._getElementIndex($sourceElement));\r\n this.option(\"fromIndexOffset\", this.option(\"offset\"))\r\n },\r\n _dragEndHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._unsubscribeFromSourceScroll()\r\n },\r\n _subscribeToSourceScroll: function(e) {\r\n var $scrollable = this._getScrollable($(e.target));\r\n if ($scrollable) {\r\n this._sourceScrollableInfo = {\r\n element: $scrollable,\r\n scrollLeft: $scrollable.scrollLeft(),\r\n scrollTop: $scrollable.scrollTop()\r\n };\r\n eventsEngine.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll: function() {\r\n if (this._sourceScrollableInfo) {\r\n eventsEngine.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll: function(e) {\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach(scrollProp => {\r\n if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) {\r\n var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp];\r\n this._correctItemPoints(scrollBy);\r\n sourceScrollableInfo[scrollProp] = e.target[scrollProp]\r\n }\r\n })\r\n }\r\n },\r\n _dragEnterHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n if (this === this._getSourceDraggable()) {\r\n return\r\n }\r\n this._updateItemPoints();\r\n this.option(\"fromIndex\", -1);\r\n if (!this._isIndicateMode()) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n var lastItemPoint = itemPoints[itemPoints.length - 1];\r\n if (lastItemPoint) {\r\n var $element = this.$element();\r\n var $sourceElement = this._getSourceElement();\r\n var isVertical = this._isVerticalOrientation();\r\n var sourceElementSize = isVertical ? $sourceElement.outerHeight(true) : $sourceElement.outerWidth(true);\r\n var scrollSize = $element.get(0)[isVertical ? \"scrollHeight\" : \"scrollWidth\"];\r\n var scrollPosition = $element.get(0)[isVertical ? \"scrollTop\" : \"scrollLeft\"];\r\n var positionProp = isVertical ? \"top\" : \"left\";\r\n var lastPointPosition = lastItemPoint[positionProp];\r\n var elementPosition = $element.offset()[positionProp];\r\n var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition;\r\n if (freeSize < sourceElementSize) {\r\n if (isVertical) {\r\n var items = this._getItems();\r\n var $lastItem = $(this._getPrevVisibleItem(items));\r\n this._$modifiedItem = $lastItem;\r\n this._modifiedItemMargin = $lastItem.get(0).style.marginBottom;\r\n $lastItem.css(\"marginBottom\", sourceElementSize - freeSize);\r\n var $sortable = $lastItem.closest(\".dx-sortable\");\r\n var sortable = $sortable.data(\"dxScrollable\") || $sortable.data(\"dxScrollView\");\r\n sortable && sortable.update()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n dragEnter: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _isInsideTargetDraggable: function(event) {\r\n var $targetDraggable = this._getTargetDraggable().$element();\r\n var $scrollable = this._getScrollable($targetDraggable);\r\n if ($scrollable) {\r\n var {\r\n left: left,\r\n right: right,\r\n top: top,\r\n bottom: bottom\r\n } = getScrollableBoundary($scrollable);\r\n var validX = left <= event.pageX && event.pageX <= right;\r\n var validY = top <= event.pageY && event.pageY <= bottom;\r\n return validY && validX\r\n }\r\n return true\r\n },\r\n dragEnd: function(sourceEvent) {\r\n var $sourceElement = this._getSourceElement();\r\n var sourceDraggable = this._getSourceDraggable();\r\n var isSourceDraggable = sourceDraggable.NAME !== this.NAME;\r\n var toIndex = this.option(\"toIndex\");\r\n var isInsideTargetDraggable = this._isInsideTargetDraggable(sourceEvent.event);\r\n if (null !== toIndex && toIndex >= 0 && isInsideTargetDraggable) {\r\n var cancelAdd;\r\n var cancelRemove;\r\n if (sourceDraggable !== this) {\r\n cancelAdd = this._fireAddEvent(sourceEvent);\r\n if (!cancelAdd) {\r\n cancelRemove = this._fireRemoveEvent(sourceEvent)\r\n }\r\n }\r\n if (isSourceDraggable) {\r\n resetPosition($sourceElement)\r\n }\r\n if (this.option(\"moveItemOnDrop\")) {\r\n !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove)\r\n }\r\n if (sourceDraggable === this) {\r\n return this._fireReorderEvent(sourceEvent)\r\n }\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n dragMove: function(e) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (!itemPoints) {\r\n return\r\n }\r\n var isVertical = this._isVerticalOrientation();\r\n var axisName = isVertical ? \"top\" : \"left\";\r\n var cursorPosition = isVertical ? e.pageY : e.pageX;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var itemPoint;\r\n for (var i = itemPoints.length - 1; i >= 0; i--) {\r\n var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2;\r\n if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) {\r\n itemPoint = itemPoints[i]\r\n } else {\r\n break\r\n }\r\n }\r\n if (itemPoint) {\r\n this._updatePlaceholderPosition(e, itemPoint);\r\n if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) {\r\n this._movePlaceholder()\r\n }\r\n }\r\n },\r\n _isIndicateMode: function() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder: function() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = $(\"
\").addClass(this._addWidgetPrefix(PLACEHOLDER_CLASS)).insertBefore(this._getSourceDraggable()._$dragElement)\r\n }\r\n this._$placeholderElement = $placeholderContainer;\r\n return $placeholderContainer\r\n },\r\n _getItems: function() {\r\n var itemsSelector = this._getItemsSelector();\r\n return this._$content().find(itemsSelector).not(\".\" + this._addWidgetPrefix(PLACEHOLDER_CLASS)).not(\".\" + this._addWidgetPrefix(CLONE_CLASS)).toArray()\r\n },\r\n _allowReordering: function() {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return sourceDraggable !== targetDraggable || this.option(\"allowReordering\")\r\n },\r\n _isValidPoint: function(visibleIndex, draggableVisibleIndex, dropInsideItem) {\r\n var allowDropInsideItem = this.option(\"allowDropInsideItem\");\r\n var allowReordering = dropInsideItem || this._allowReordering();\r\n if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) {\r\n return false\r\n }\r\n if (!this._isIndicateMode()) {\r\n return true\r\n }\r\n return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1)\r\n },\r\n _getItemPoints: function() {\r\n var result = [];\r\n var $item;\r\n var offset;\r\n var itemWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVertical = this._isVerticalOrientation();\r\n var itemElements = this._getItems();\r\n var visibleItemElements = itemElements.filter(isElementVisible);\r\n var visibleItemCount = visibleItemElements.length;\r\n var $draggableItem = this._getDraggableElement();\r\n var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0));\r\n if (visibleItemCount) {\r\n for (var i = 0; i <= visibleItemCount; i++) {\r\n var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount;\r\n var needCorrectTopPosition = isVertical && i === visibleItemCount;\r\n if (i < visibleItemCount) {\r\n $item = $(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = $item.outerWidth()\r\n }\r\n result.push({\r\n dropInsideItem: false,\r\n left: offset.left + (needCorrectLeftPosition ? itemWidth : 0),\r\n top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0),\r\n index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)),\r\n $item: $item,\r\n width: $item.outerWidth(),\r\n height: $item.outerHeight(),\r\n isValid: this._isValidPoint(i, draggableVisibleIndex)\r\n })\r\n }\r\n if (this.option(\"allowDropInsideItem\")) {\r\n var points = result;\r\n result = [];\r\n for (var _i = 0; _i < points.length; _i++) {\r\n result.push(points[_i]);\r\n if (points[_i + 1]) {\r\n result.push(extend({}, points[_i], {\r\n dropInsideItem: true,\r\n top: Math.floor((points[_i].top + points[_i + 1].top) / 2),\r\n left: Math.floor((points[_i].left + points[_i + 1].left) / 2),\r\n isValid: this._isValidPoint(_i, draggableVisibleIndex, true)\r\n }))\r\n }\r\n }\r\n }\r\n } else {\r\n result.push({\r\n dropInsideItem: false,\r\n index: 0,\r\n isValid: true\r\n })\r\n }\r\n return result\r\n },\r\n _updateItemPoints: function(forceUpdate) {\r\n if (forceUpdate || this.option(\"autoUpdate\") || !this.option(\"itemPoints\")) {\r\n this.option(\"itemPoints\", this._getItemPoints())\r\n }\r\n },\r\n _correctItemPoints: function(scrollBy) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (scrollBy && itemPoints && !this.option(\"autoUpdate\")) {\r\n var isVertical = this._isVerticalOrientation();\r\n var positionPropName = isVertical ? \"top\" : \"left\";\r\n itemPoints.forEach(itemPoint => {\r\n itemPoint[positionPropName] -= scrollBy\r\n })\r\n }\r\n },\r\n _getElementIndex: function($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs: function($element) {\r\n var args = this.callBase.apply(this, arguments);\r\n args.model.fromIndex = this._getElementIndex($element);\r\n return args\r\n },\r\n _togglePlaceholder: function(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation: function() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex: function(toIndex, dropInsideItem) {\r\n var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable();\r\n var fromIndex = this.option(\"fromIndex\");\r\n if (null === toIndex) {\r\n return fromIndex\r\n }\r\n return Math.max(isAnotherDraggable || fromIndex >= toIndex || dropInsideItem ? toIndex : toIndex - 1, 0)\r\n },\r\n _updatePlaceholderPosition: function(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = extend(this._getEventArgs(e), {\r\n toIndex: toIndex,\r\n dropInsideItem: itemPoint.dropInsideItem\r\n });\r\n itemPoint.isValid && this._getAction(\"onDragChange\")(eventArgs);\r\n if (eventArgs.cancel || !itemPoint.isValid) {\r\n if (!itemPoint.isValid) {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null\r\n })\r\n }\r\n return\r\n }\r\n this.option({\r\n dropInsideItem: itemPoint.dropInsideItem,\r\n toIndex: itemPoint.index\r\n });\r\n this._getAction(\"onPlaceholderPrepared\")(extend(this._getEventArgs(e), {\r\n placeholderElement: getPublicElement(this._$placeholderElement),\r\n dragElement: getPublicElement(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection: function($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable && this._$scrollable.width() < width) {\r\n var scrollableWidth = this._$scrollable.width();\r\n var offsetLeft = $item.offset().left - this._$scrollable.offset().left;\r\n var offsetRight = scrollableWidth - $item.outerWidth() - offsetLeft;\r\n if (offsetLeft > 0) {\r\n width = scrollableWidth - offsetLeft\r\n } else if (offsetRight > 0) {\r\n width = scrollableWidth - offsetRight\r\n } else {\r\n width = scrollableWidth\r\n }\r\n }\r\n return width\r\n },\r\n _updatePlaceholderSizes: function($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = $(itemElement);\r\n var isVertical = this._isVerticalOrientation();\r\n var width = \"\";\r\n var height = \"\";\r\n $placeholderElement.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"), dropInsideItem);\r\n if (isVertical || dropInsideItem) {\r\n width = $item.outerWidth()\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = $item.outerHeight()\r\n }\r\n width = this._makeWidthCorrection($item, width);\r\n $placeholderElement.css({\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _moveItem: function($itemElement, index, cancelRemove) {\r\n var $prevTargetItemElement;\r\n var $itemElements = this._getItems();\r\n var $targetItemElement = $itemElements[index];\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (cancelRemove) {\r\n $itemElement = $itemElement.clone();\r\n sourceDraggable._toggleDragSourceClass(false, $itemElement)\r\n }\r\n if (!$targetItemElement) {\r\n $prevTargetItemElement = $itemElements[index - 1]\r\n }\r\n this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement)\r\n },\r\n _moveItemCore: function($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter($(prevItem))\r\n } else {\r\n $targetItem.insertBefore($(item))\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: sourceDraggable.option(\"fromIndex\"),\r\n toIndex: this._normalizeToIndex(targetDraggable.option(\"toIndex\"), dropInsideItem),\r\n dropInsideItem: dropInsideItem\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onDragChange\":\r\n case \"onPlaceholderPrepared\":\r\n case \"onAdd\":\r\n case \"onRemove\":\r\n case \"onReorder\":\r\n this[\"_\" + name + \"Action\"] = this._createActionByOption(name);\r\n break;\r\n case \"itemOrientation\":\r\n case \"allowDropInsideItem\":\r\n case \"moveItemOnDrop\":\r\n case \"dropFeedbackMode\":\r\n case \"itemPoints\":\r\n case \"animation\":\r\n case \"allowReordering\":\r\n case \"fromIndexOffset\":\r\n case \"offset\":\r\n case \"draggableElementSize\":\r\n case \"autoUpdate\":\r\n break;\r\n case \"fromIndex\":\r\n [false, true].forEach(isDragSource => {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n this._toggleDragSourceClass(isDragSource, $fromElement)\r\n }\r\n });\r\n break;\r\n case \"dropInsideItem\":\r\n this._optionChangedDropInsideItem(args);\r\n break;\r\n case \"toIndex\":\r\n this._optionChangedToIndex(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _optionChangedDropInsideItem: function() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible: function(position) {\r\n var $element = this.$element();\r\n var scrollContainer;\r\n if (\"hidden\" !== $element.css(\"overflow\")) {\r\n scrollContainer = $element.get(0)\r\n } else {\r\n $element.parents().each((function() {\r\n if (\"visible\" !== $(this).css(\"overflow\")) {\r\n scrollContainer = this;\r\n return false\r\n }\r\n }))\r\n }\r\n if (scrollContainer) {\r\n var clientRect = getBoundingRect(scrollContainer);\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var start = isVerticalOrientation ? \"top\" : \"left\";\r\n var end = isVerticalOrientation ? \"bottom\" : \"right\";\r\n var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset;\r\n if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _optionChangedToIndex: function(args) {\r\n var toIndex = args.value;\r\n if (this._isIndicateMode()) {\r\n var showPlaceholder = null !== toIndex && toIndex >= 0;\r\n this._togglePlaceholder(showPlaceholder);\r\n if (showPlaceholder) {\r\n this._movePlaceholder()\r\n }\r\n } else {\r\n this._moveItems(args.previousValue, args.value, args.fullUpdate)\r\n }\r\n },\r\n update: function() {\r\n if (null === this.option(\"fromIndex\") && null === this.option(\"toIndex\")) {\r\n return\r\n }\r\n this._updateItemPoints(true);\r\n this._updateDragSourceClass();\r\n var toIndex = this.option(\"toIndex\");\r\n this._optionChangedToIndex({\r\n value: toIndex,\r\n fullUpdate: true\r\n })\r\n },\r\n _updateDragSourceClass: function() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n if ($fromElement.length) {\r\n this._$sourceElement = $fromElement;\r\n this._toggleDragSourceClass(true, $fromElement)\r\n }\r\n },\r\n _makeLeftCorrection: function(left, leftMargin) {\r\n var $scrollable = this._$scrollable;\r\n if ($scrollable && this._isVerticalOrientation() && $scrollable.scrollLeft() > leftMargin) {\r\n left += $scrollable.scrollLeft() - leftMargin\r\n }\r\n return left\r\n },\r\n _movePlaceholder: function() {\r\n var $placeholderElement = this._$placeholderElement || this._createPlaceholder();\r\n var items = this._getItems();\r\n var toIndex = this.option(\"toIndex\");\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var position = null;\r\n var leftMargin = 0;\r\n var itemElement = items[toIndex];\r\n if (itemElement) {\r\n var $itemElement = $(itemElement);\r\n position = $itemElement.offset();\r\n leftMargin = parseFloat($itemElement.css(\"marginLeft\"));\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += $itemElement.outerWidth(true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = $(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += $(prevVisibleItemElement).outerHeight(true)\r\n } else if (!rtlEnabled) {\r\n position.left += $(prevVisibleItemElement).outerWidth(true)\r\n }\r\n }\r\n }\r\n this._updatePlaceholderSizes($placeholderElement, itemElement);\r\n if (position && !this._isPositionVisible(position)) {\r\n position = null\r\n }\r\n if (position) {\r\n position.left = this._makeLeftCorrection(position.left, leftMargin);\r\n this._move(position, $placeholderElement)\r\n }\r\n $placeholderElement.toggle(!!position)\r\n },\r\n _getPositions: function(items, elementSize, fromIndex, toIndex) {\r\n var positions = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var position = 0;\r\n if (null === toIndex || null === fromIndex) {\r\n positions.push(position);\r\n continue\r\n }\r\n if (-1 === fromIndex) {\r\n if (i >= toIndex) {\r\n position = elementSize\r\n }\r\n } else if (-1 === toIndex) {\r\n if (i > fromIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex < toIndex) {\r\n if (i > fromIndex && i < toIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex > toIndex) {\r\n if (i >= toIndex && i < fromIndex) {\r\n position = elementSize\r\n }\r\n }\r\n positions.push(position)\r\n }\r\n return positions\r\n },\r\n _getDraggableElementSize: function(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? ($draggableItem.outerHeight() + $draggableItem.outerHeight(true)) / 2 : ($draggableItem.outerWidth() + $draggableItem.outerWidth(true)) / 2;\r\n if (!this.option(\"autoUpdate\")) {\r\n this.option(\"draggableElementSize\", size)\r\n }\r\n }\r\n return size\r\n },\r\n _getActualFromIndex: function() {\r\n var {\r\n fromIndex: fromIndex,\r\n fromIndexOffset: fromIndexOffset,\r\n offset: offset\r\n } = this.option();\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems: function(prevToIndex, toIndex, fullUpdate) {\r\n var fromIndex = this._getActualFromIndex();\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var positionPropName = isVerticalOrientation ? \"top\" : \"left\";\r\n var elementSize = this._getDraggableElementSize(isVerticalOrientation);\r\n var items = this._getItems();\r\n var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex);\r\n var positions = this._getPositions(items, elementSize, fromIndex, toIndex);\r\n var animationConfig = this.option(\"animation\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n for (var i = 0; i < items.length; i++) {\r\n var itemElement = items[i];\r\n var prevPosition = prevPositions[i];\r\n var position = positions[i];\r\n if (null === toIndex || null === fromIndex) {\r\n stopAnimation(itemElement)\r\n } else if (prevPosition !== position || fullUpdate && position) {\r\n animate(itemElement, extend({}, animationConfig, {\r\n to: {\r\n [positionPropName]: !isVerticalOrientation && rtlEnabled ? -position : position\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n this.callBase.apply(this, arguments);\r\n if (!this._isIndicateMode()) {\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source-hidden\"), value)\r\n }\r\n },\r\n _dispose: function() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var args = this._getEventArgs(sourceEvent);\r\n sourceDraggable._getAction(\"onRemove\")(args);\r\n return args.cancel\r\n },\r\n _fireReorderEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || (new Deferred).resolve()\r\n }\r\n});\r\nregisterComponent(SORTABLE, Sortable);\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.reorder.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isMouseEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Sortable from \"../sortable\";\r\nvar REORDER_HANDLE_CONTAINER_CLASS = \"dx-list-reorder-handle-container\";\r\nvar REORDER_HANDLE_CLASS = \"dx-list-reorder-handle\";\r\nvar REORDERING_ITEM_GHOST_CLASS = \"dx-list-item-ghost-reordering\";\r\nvar STATE_HOVER_CLASS = \"dx-state-hover\";\r\nregisterDecorator(\"reorder\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n var list = this._list;\r\n this._groupedEnabled = this._list.option(\"grouped\");\r\n this._lockedDrag = false;\r\n var filter = this._groupedEnabled ? \"> .dx-list-group > .dx-list-group-body > .dx-list-item\" : \"> .dx-list-item\";\r\n this._sortable = list._createComponent(list._scrollView.content(), Sortable, extend({\r\n component: list,\r\n contentTemplate: null,\r\n allowReordering: false,\r\n filter: filter,\r\n container: list.$element(),\r\n dragDirection: list.option(\"itemDragging.group\") ? \"both\" : \"vertical\",\r\n handle: \".\".concat(REORDER_HANDLE_CLASS),\r\n dragTemplate: this._dragTemplate,\r\n onDragStart: this._dragStartHandler.bind(this),\r\n onDragChange: this._dragChangeHandler.bind(this),\r\n onReorder: this._reorderHandler.bind(this)\r\n }, list.option(\"itemDragging\")))\r\n },\r\n afterRender: function() {\r\n this._sortable.update()\r\n },\r\n _dragTemplate: function(e) {\r\n return $(e.itemElement).clone().width($(e.itemElement).width()).addClass(REORDERING_ITEM_GHOST_CLASS).addClass(STATE_HOVER_CLASS)\r\n },\r\n _dragStartHandler: function(e) {\r\n if (this._lockedDrag) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _dragChangeHandler: function(e) {\r\n if (this._groupedEnabled && !this._sameParent(e.fromIndex, e.toIndex)) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _sameParent: function(fromIndex, toIndex) {\r\n var $dragging = this._list.getItemElementByFlatIndex(fromIndex);\r\n var $over = this._list.getItemElementByFlatIndex(toIndex);\r\n return $over.parent().get(0) === $dragging.parent().get(0)\r\n },\r\n _reorderHandler: function(e) {\r\n var $targetElement = this._list.getItemElementByFlatIndex(e.toIndex);\r\n this._list.reorderItem($(e.itemElement), $targetElement)\r\n },\r\n afterBag: function(config) {\r\n var $handle = $(\"
\").addClass(REORDER_HANDLE_CLASS);\r\n eventsEngine.on($handle, \"dxpointerdown\", e => {\r\n this._lockedDrag = !isMouseEvent(e)\r\n });\r\n eventsEngine.on($handle, \"dxhold\", {\r\n timeout: 30\r\n }, e => {\r\n e.cancel = true;\r\n this._lockedDrag = false\r\n });\r\n config.$container.addClass(REORDER_HANDLE_CONTAINER_CLASS).append($handle)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.provider.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n registry\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport \"./ui.list.edit.decorator.static\";\r\nimport \"./ui.list.edit.decorator.switchable.button\";\r\nimport \"./ui.list.edit.decorator.switchable.slide\";\r\nimport \"./ui.list.edit.decorator.swipe\";\r\nimport \"./ui.list.edit.decorator.context\";\r\nimport \"./ui.list.edit.decorator.selection\";\r\nimport \"./ui.list.edit.decorator.reorder\";\r\nvar editOptionsRegistry = [];\r\nvar registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) {\r\n editOptionsRegistry.push({\r\n enabled: enabledFunc,\r\n decoratorType: decoratorTypeFunc,\r\n decoratorSubType: decoratorSubTypeFunc\r\n })\r\n};\r\nregisterOption((function() {\r\n return this.option(\"menuItems\").length\r\n}), (function() {\r\n return \"menu\"\r\n}), (function() {\r\n return this.option(\"menuMode\")\r\n}));\r\nregisterOption((function() {\r\n return !this.option(\"menuItems\").length && this.option(\"allowItemDeleting\")\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n return \"toggle\" === mode || \"slideButton\" === mode || \"swipe\" === mode || \"static\" === mode ? \"delete\" : \"menu\"\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n if (\"slideItem\" === mode) {\r\n mode = \"slide\"\r\n }\r\n if (\"hold\" === mode) {\r\n mode = \"context\"\r\n }\r\n return mode\r\n}));\r\nregisterOption((function() {\r\n return \"none\" !== this.option(\"selectionMode\") && this.option(\"showSelectionControls\")\r\n}), (function() {\r\n return \"selection\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nregisterOption((function() {\r\n return this.option(\"itemDragging.allowReordering\") || this.option(\"itemDragging.allowDropInsideItem\") || this.option(\"itemDragging.group\")\r\n}), (function() {\r\n return \"reorder\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nvar LIST_ITEM_BEFORE_BAG_CLASS = \"dx-list-item-before-bag\";\r\nvar LIST_ITEM_AFTER_BAG_CLASS = \"dx-list-item-after-bag\";\r\nvar DECORATOR_BEFORE_BAG_CREATE_METHOD = \"beforeBag\";\r\nvar DECORATOR_AFTER_BAG_CREATE_METHOD = \"afterBag\";\r\nvar DECORATOR_MODIFY_ELEMENT_METHOD = \"modifyElement\";\r\nvar DECORATOR_AFTER_RENDER_METHOD = \"afterRender\";\r\nvar DECORATOR_GET_EXCLUDED_SELECTORS_METHOD = \"getExcludedSelectors\";\r\nvar EditProvider = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._fetchRequiredDecorators()\r\n },\r\n dispose: function() {\r\n if (this._decorators && this._decorators.length) {\r\n each(this._decorators, (function(_, decorator) {\r\n decorator.dispose()\r\n }))\r\n }\r\n },\r\n _fetchRequiredDecorators: function() {\r\n this._decorators = [];\r\n each(editOptionsRegistry, function(_, option) {\r\n var optionEnabled = option.enabled.call(this._list);\r\n if (optionEnabled) {\r\n var decoratorType = option.decoratorType.call(this._list);\r\n var decoratorSubType = option.decoratorSubType.call(this._list);\r\n var decorator = this._createDecorator(decoratorType, decoratorSubType);\r\n this._decorators.push(decorator)\r\n }\r\n }.bind(this))\r\n },\r\n _createDecorator: function(type, subType) {\r\n var decoratorClass = this._findDecorator(type, subType);\r\n return new decoratorClass(this._list)\r\n },\r\n _findDecorator: function(type, subType) {\r\n var foundDecorator = registry[type][subType];\r\n if (!foundDecorator) {\r\n throw errors.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = $(args.itemElement);\r\n var config = {\r\n $itemElement: $itemElement\r\n };\r\n this._prependBeforeBags($itemElement, config);\r\n this._appendAfterBags($itemElement, config);\r\n this._applyDecorators(DECORATOR_MODIFY_ELEMENT_METHOD, config)\r\n },\r\n afterItemsRendered: function() {\r\n this._applyDecorators(DECORATOR_AFTER_RENDER_METHOD)\r\n },\r\n _prependBeforeBags: function($itemElement, config) {\r\n var $beforeBags = this._collectDecoratorsMarkup(DECORATOR_BEFORE_BAG_CREATE_METHOD, config, LIST_ITEM_BEFORE_BAG_CLASS);\r\n $itemElement.prepend($beforeBags)\r\n },\r\n _appendAfterBags: function($itemElement, config) {\r\n var $afterBags = this._collectDecoratorsMarkup(DECORATOR_AFTER_BAG_CREATE_METHOD, config, LIST_ITEM_AFTER_BAG_CLASS);\r\n $itemElement.append($afterBags)\r\n },\r\n _collectDecoratorsMarkup: function(method, config, containerClass) {\r\n var $collector = $(\"
\");\r\n each(this._decorators, (function() {\r\n var $container = $(\"
\").addClass(containerClass);\r\n this[method](extend({\r\n $container: $container\r\n }, config));\r\n if ($container.children().length) {\r\n $collector.append($container)\r\n }\r\n }));\r\n return $collector.children()\r\n },\r\n _applyDecorators: function(method, config) {\r\n each(this._decorators, (function() {\r\n this[method](config)\r\n }))\r\n },\r\n _handlerExists: function(name) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n if (decorators[i][name] !== noop) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _eventHandler: function(name, $itemElement, e) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var response = false;\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n response = decorators[i][name]($itemElement, e);\r\n if (response) {\r\n break\r\n }\r\n }\r\n return response\r\n },\r\n handleClick: function($itemElement, e) {\r\n return this._eventHandler(\"handleClick\", $itemElement, e)\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n return this._eventHandler(\"handleKeyboardEvents\", currentFocusedIndex, moveFocusUp)\r\n },\r\n handleEnterPressing: function(e) {\r\n return this._eventHandler(\"handleEnterPressing\", e)\r\n },\r\n contextMenuHandlerExists: function() {\r\n return this._handlerExists(\"handleContextMenu\")\r\n },\r\n handleContextMenu: function($itemElement, e) {\r\n return this._eventHandler(\"handleContextMenu\", $itemElement, e)\r\n },\r\n getExcludedItemSelectors: function() {\r\n var excludedSelectors = [];\r\n this._applyDecorators(DECORATOR_GET_EXCLUDED_SELECTORS_METHOD, excludedSelectors);\r\n return excludedSelectors.join(\",\")\r\n }\r\n});\r\nexport default EditProvider;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isTouchEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport GroupedEditStrategy from \"./ui.list.edit.strategy.grouped\";\r\nimport localizationMessage from \"../../localization/message\";\r\nimport EditProvider from \"./ui.list.edit.provider\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar LIST_ITEM_RESPONSE_WAIT_CLASS = \"dx-list-item-response-wait\";\r\nvar ListEdit = ListBase.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = (e, moveUp) => {\r\n var editStrategy = this._editStrategy;\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement);\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n if (isLastIndexFocused && this._isDataSourceLoading()) {\r\n return\r\n }\r\n if (e.shiftKey && that.option(\"itemDragging.allowReordering\")) {\r\n var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1);\r\n var $nextItem = editStrategy.getItemElement(nextItemIndex);\r\n this.reorderItem(focusedElement, $nextItem);\r\n this.scrollToItem(focusedElement);\r\n e.preventDefault()\r\n } else {\r\n var editProvider = this._editProvider;\r\n var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp);\r\n if (!isInternalMoving) {\r\n moveUp ? parent.upArrow(e) : parent.downArrow(e)\r\n }\r\n }\r\n };\r\n return extend({}, parent, {\r\n del: e => {\r\n if (that.option(\"allowItemDeleting\")) {\r\n e.preventDefault();\r\n that.deleteItem(that.option(\"focusedElement\"))\r\n }\r\n },\r\n upArrow: e => moveFocusedItem(e, true),\r\n downArrow: e => moveFocusedItem(e),\r\n enter: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.enter.apply(this, arguments)\r\n }\r\n },\r\n space: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.space.apply(this, arguments)\r\n }\r\n }\r\n })\r\n },\r\n _updateSelection() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements() {\r\n this.callBase();\r\n var excludedSelectors = this._editProvider.getExcludedItemSelectors();\r\n if (excludedSelectors.length) {\r\n this._itemElementsCache = this._itemElementsCache.not(excludedSelectors)\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n var privateKey = item1 && item1.__dx_key__;\r\n if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) {\r\n return false\r\n }\r\n return this.callBase(item1, item2)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: localizationMessage.format(\"dxList-selectAll\"),\r\n menuItems: [],\r\n menuMode: \"context\",\r\n allowItemDeleting: false,\r\n itemDeleteMode: \"static\",\r\n itemDragging: {}\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: _device => \"ios\" === _device.platform,\r\n options: {\r\n menuMode: \"slide\",\r\n itemDeleteMode: \"slideItem\"\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n itemDeleteMode: \"swipe\"\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider() {\r\n this._editProvider = new EditProvider(this)\r\n },\r\n _disposeEditProvider() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new GroupedEditStrategy(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems() {\r\n this.callBase(...arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: () => LIST_ITEM_SELECTED_CLASS,\r\n _itemResponseWaitClass: () => LIST_ITEM_RESPONSE_WAIT_CLASS,\r\n _itemClickHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = this._editProvider.handleClick($itemElement, e);\r\n if (handledByEditProvider) {\r\n return\r\n }\r\n this._saveSelectionChangeEvent(e);\r\n this.callBase(...arguments)\r\n },\r\n _shouldFireContextMenuEvent() {\r\n return this.callBase(...arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = isTouchEvent(e) && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.handledByEditProvider = true;\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _getItemContainer: function(changeData) {\r\n if (this.option(\"grouped\")) {\r\n var _this$_editStrategy$g;\r\n var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group;\r\n return this._getGroupContainerByIndex(groupIndex)\r\n } else {\r\n return this.callBase(changeData)\r\n }\r\n },\r\n _itemContextMenuHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.preventDefault();\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _postprocessRenderItem(args) {\r\n this.callBase(...arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem(index) {\r\n var $item = this._editStrategy.getItemElement(index);\r\n this.option(\"focusedElement\", $item);\r\n this.focus();\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectAllMode\":\r\n this._initDataSource();\r\n this._dataSource.pageIndex(0);\r\n this._dataSource.load();\r\n break;\r\n case \"grouped\":\r\n this._clearSelectedItems();\r\n delete this._renderingGroupIndex;\r\n this._initEditStrategy();\r\n this.callBase(args);\r\n break;\r\n case \"showSelectionControls\":\r\n case \"menuItems\":\r\n case \"menuMode\":\r\n case \"allowItemDeleting\":\r\n case \"itemDeleteMode\":\r\n case \"itemDragging\":\r\n case \"selectAllText\":\r\n this._invalidate();\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n selectAll() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return $()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n }\r\n});\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.search_box_mixin.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextBox from \"../text_box\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n searchMode: \"\",\r\n searchExpr: null,\r\n searchValue: \"\",\r\n searchEnabled: false,\r\n searchEditorOptions: {}\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSearch();\r\n this.callBase()\r\n },\r\n _renderSearch: function() {\r\n var $element = this.$element();\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var searchBoxClassName = this._addWidgetPrefix(\"search\");\r\n var rootElementClassName = this._addWidgetPrefix(\"with-search\");\r\n if (!searchEnabled) {\r\n $element.removeClass(rootElementClassName);\r\n this._removeSearchBox();\r\n return\r\n }\r\n var editorOptions = this._getSearchEditorOptions();\r\n if (this._searchEditor) {\r\n this._searchEditor.option(editorOptions)\r\n } else {\r\n $element.addClass(rootElementClassName);\r\n this._$searchEditorElement = $(\"
\").addClass(searchBoxClassName).prependTo($element);\r\n this._searchEditor = this._createComponent(this._$searchEditorElement, TextBox, editorOptions)\r\n }\r\n },\r\n _removeSearchBox: function() {\r\n this._$searchEditorElement && this._$searchEditorElement.remove();\r\n delete this._$searchEditorElement;\r\n delete this._searchEditor\r\n },\r\n _getSearchEditorOptions: function() {\r\n var that = this;\r\n var userEditorOptions = that.option(\"searchEditorOptions\");\r\n var searchText = messageLocalization.format(\"Search\");\r\n return extend({\r\n mode: \"search\",\r\n placeholder: searchText,\r\n tabIndex: that.option(\"tabIndex\"),\r\n value: that.option(\"searchValue\"),\r\n valueChangeEvent: \"input\",\r\n inputAttr: {\r\n \"aria-label\": searchText\r\n },\r\n onValueChanged: function(e) {\r\n var searchTimeout = that.option(\"searchTimeout\");\r\n that._valueChangeDeferred = new Deferred;\r\n clearTimeout(that._valueChangeTimeout);\r\n that._valueChangeDeferred.done(function() {\r\n this.option(\"searchValue\", e.value)\r\n }.bind(that));\r\n if (e.event && \"input\" === e.event.type && searchTimeout) {\r\n that._valueChangeTimeout = setTimeout((function() {\r\n that._valueChangeDeferred.resolve()\r\n }), searchTimeout)\r\n } else {\r\n that._valueChangeDeferred.resolve()\r\n }\r\n }\r\n }, userEditorOptions)\r\n },\r\n _getAriaTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n if (this.option(\"searchEnabled\")) {\r\n this._toggleFocusClass(isFocused, this.$element())\r\n }\r\n this.callBase(e, isFocused)\r\n },\r\n getOperationBySearchMode: function(searchMode) {\r\n return \"equals\" === searchMode ? \"=\" : searchMode\r\n },\r\n _cleanAria: function($target) {\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $target);\r\n $target.attr(\"tabIndex\", null)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchEnabled\":\r\n case \"searchEditorOptions\":\r\n this._cleanAria(this.option(\"searchEnabled\") ? this.$element() : this._itemContainer());\r\n this._invalidate();\r\n break;\r\n case \"searchExpr\":\r\n case \"searchMode\":\r\n case \"searchValue\":\r\n if (!this._dataSource) {\r\n errors.log(\"W1009\");\r\n return\r\n }\r\n if (\"searchMode\" === args.name) {\r\n this._dataSource.searchOperation(this.getOperationBySearchMode(args.value))\r\n } else {\r\n this._dataSource[args.name](args.value)\r\n }\r\n this._dataSource.load();\r\n break;\r\n case \"searchTimeout\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n focus: function() {\r\n if (!this.option(\"focusedElement\") && this.option(\"searchEnabled\")) {\r\n this._searchEditor && this._searchEditor.focus();\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _refresh: function() {\r\n if (this._valueChangeDeferred) {\r\n this._valueChangeDeferred.resolve()\r\n }\r\n this.callBase()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.search.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./ui.list.edit\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nvar ListSearch = ListEdit.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"dx-list-\" + className\r\n },\r\n _getCombinedFilter: function() {\r\n var filter;\r\n var storeLoadOptions;\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n storeLoadOptions = {\r\n filter: dataSource.filter()\r\n };\r\n dataSource._addSearchFilter(storeLoadOptions);\r\n filter = storeLoadOptions.filter\r\n }\r\n return filter\r\n },\r\n _initDataSource: function() {\r\n var value = this.option(\"searchValue\");\r\n var expr = this.option(\"searchExpr\");\r\n var mode = this.option(\"searchMode\");\r\n this.callBase();\r\n if (this._dataSource) {\r\n value && value.length && this._dataSource.searchValue(value);\r\n mode.length && this._dataSource.searchOperation(searchBoxMixin.getOperationBySearchMode(mode));\r\n expr && this._dataSource.searchExpr(expr)\r\n }\r\n }\r\n});\r\nexport default ListSearch;\r\n","/**\r\n * DevExtreme (esm/ui/list.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./list/ui.list.edit.search\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nregisterComponent(\"dxList\", ListEdit);\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.caret.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar {\r\n ios: ios,\r\n mac: mac\r\n} = devices.real();\r\nvar isFocusingOnCaretChange = browser.msie || ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n if (!domAdapter.getBody().contains(input)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n input = $(input).get(0);\r\n if (!isDefined(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && domAdapter.getActiveElement() !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nexport default caret;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.support.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\n\r\nfunction isModernAndroidDevice() {\r\n var {\r\n android: android,\r\n version: version\r\n } = devices.real();\r\n return android && version[0] > 4\r\n}\r\nexport function isInputEventsL2Supported() {\r\n return \"onbeforeinput\" in domAdapter.createElement(\"input\") || isModernAndroidDevice()\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = Class.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n extend(this, config)\r\n },\r\n next: function(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n },\r\n text: noop,\r\n value: noop,\r\n rawValue: noop,\r\n handle: noop,\r\n _prepareHandlingArgs: function(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n },\r\n reset: noop,\r\n clear: noop,\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n isAccepted: function() {\r\n return false\r\n },\r\n adjustedCaret: function(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n },\r\n _adjustedForward: noop,\r\n _adjustedBackward: noop,\r\n isValid: noop\r\n});\r\nexport var EmptyMaskRule = BaseMaskRule.inherit({\r\n next: noop,\r\n handle: function() {\r\n return 0\r\n },\r\n text: function() {\r\n return \"\"\r\n },\r\n value: function() {\r\n return \"\"\r\n },\r\n first: function() {\r\n return 0\r\n },\r\n rawValue: function() {\r\n return \"\"\r\n },\r\n adjustedCaret: function() {\r\n return 0\r\n },\r\n isValid: function() {\r\n return true\r\n }\r\n});\r\nexport var MaskRule = BaseMaskRule.inherit({\r\n text: function() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n },\r\n value: function() {\r\n return this._value + this.next().value()\r\n },\r\n rawValue: function() {\r\n return this._value + this.next().rawValue()\r\n },\r\n handle: function(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n },\r\n clear: function(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n reset: function() {\r\n this._accepted(false);\r\n this.next().reset()\r\n },\r\n _tryAcceptChar: function(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n },\r\n _accepted: function(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n },\r\n first: function(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : this.callBase(index)\r\n },\r\n _isAllowed: function(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n },\r\n _isValid: function(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if (isFunction(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return inArray(char, allowedChars) > -1\r\n }\r\n return allowedChars === char\r\n },\r\n isAccepted: function(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n },\r\n isValid: function(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexport var StubMaskRule = MaskRule.inherit({\r\n value: function() {\r\n return this.next().value()\r\n },\r\n handle: function(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n },\r\n clear: function(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n _tryAcceptChar: function(char) {\r\n this._accepted(this._isValid(char))\r\n },\r\n _isValid: function(char) {\r\n return char === this.maskChar\r\n },\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n },\r\n isValid: function(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"./texteditor_button_collection/button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n name as click\r\n} from \"../../events/click\";\r\nvar pointerDown = pointer.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nexport default class ClearButton extends TextEditorButton {\r\n _create() {\r\n var $element = $(\"\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append($(\"\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor._isClearButtonVisible()\r\n }\r\n _attachEvents(instance, $button) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var editorName = editor.NAME;\r\n eventsEngine.on($button, addNamespace(pointerDown, editorName), e => {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n eventsEngine.on($button, addNamespace(click, editorName), e => editor._clearValueHandler(e))\r\n }\r\n _legacyRender($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n }\r\n update() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && super.update();\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport TextEditorButton from \"./button\";\r\nimport Button from \"../../button\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n start,\r\n end\r\n} from \"../../../events/hover\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nexport default class CustomButton extends TextEditorButton {\r\n _attachEvents(instance, $element) {\r\n var {\r\n editor: editor\r\n } = this;\r\n eventsEngine.on($element, start, () => {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, end, () => {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, clickEventName, e => {\r\n e.stopPropagation()\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"
\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _prepareIntegrationOptions(editor) {\r\n return extend({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n }\r\n update() {\r\n var isUpdated = super.update();\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"visible\")\r\n }\r\n _isDisabled() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport CustomButton from \"./custom\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n find\r\n} from \"../../../core/utils/array\";\r\nimport errors from \"../../widget/ui.errors\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n (() => {\r\n if (!buttonInfo || \"object\" !== typeof buttonInfo || Array.isArray(buttonInfo)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n })();\r\n (() => {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw errors.Error(\"E1054\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n name: name\r\n } = buttonInfo;\r\n if (\"string\" !== typeof name) {\r\n throw errors.Error(\"E1055\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n location: location\r\n } = buttonInfo;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n })()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (-1 !== existingNames.indexOf(newName)) {\r\n throw errors.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!find(predefinedButtonsInfo, info => info.name === name)\r\n}\r\nexport default class TextEditorButtonCollection {\r\n constructor(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n _compileButtonInfo(buttons) {\r\n var names = [];\r\n return buttons.map(button => {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = find(this.defaultButtonsInfo, _ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw errors.Error(\"E1056\", this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var {\r\n name: name\r\n } = button;\r\n checkNamesUniqueness(names, name);\r\n return extend(button, {\r\n Ctor: CustomButton\r\n })\r\n }\r\n })\r\n }\r\n _createButton(buttonsInfo) {\r\n var {\r\n Ctor: Ctor,\r\n options: options,\r\n name: name\r\n } = buttonsInfo;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n }\r\n _renderButtons(buttons, $container, targetLocation) {\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach(buttonsInfo => {\r\n var {\r\n location: location = \"after\"\r\n } = buttonsInfo;\r\n if (location === targetLocation) {\r\n this._createButton(buttonsInfo).render((() => {\r\n $buttonsContainer = $buttonsContainer || $(\"
\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n })())\r\n }\r\n });\r\n return $buttonsContainer\r\n }\r\n clean() {\r\n this.buttons.forEach(button => button.dispose());\r\n this.buttons = []\r\n }\r\n getButton(buttonName) {\r\n var button = find(this.buttons, _ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n }\r\n renderAfterButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n }\r\n renderBeforeButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n }\r\n updateButtons(names) {\r\n this.buttons.forEach(button => {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport devices from \"../../core/devices\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport ClearButton from \"./ui.text_editor.clear\";\r\nimport TextEditorButtonCollection from \"./texteditor_button_collection/index\";\r\nimport config from \"../../core/config\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if (isDefined(buttons) && !Array.isArray(buttons)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = Editor.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new TextEditorButtonCollection(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyPress: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return isDefined(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: config().editorStylingMode || \"outlined\",\r\n showValidationMark: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n stylingMode: config().editorStylingMode || \"underlined\"\r\n }\r\n }])\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n onKeyPress: {\r\n since: \"20.1\",\r\n message: \"This event is removed from the web standards and will be deprecated in modern browsers soon.\"\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: ClearButton\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return focused(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return -1 !== CONTROL_KEYS.indexOf(key)\r\n },\r\n _renderStylingMode: function() {\r\n this.callBase();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue()\r\n },\r\n _render: function() {\r\n this._renderPlaceholder();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent();\r\n this.callBase()\r\n },\r\n _renderInput: function() {\r\n this._$buttonsContainer = this._$textEditorContainer = $(\"
\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = $(\"
\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput());\r\n this._renderButtonContainers()\r\n },\r\n _getInputContainer() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = $(\"
\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, LoadIndicator)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer)\r\n },\r\n _cleanButtonContainers: function() {\r\n var _this$_$beforeButtons, _this$_$afterButtonsC;\r\n null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove();\r\n null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove();\r\n this._buttonCollection.clean()\r\n },\r\n _clean() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this._$buttonsContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = extend(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS).css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getDefaultAttributes: function() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\"\r\n };\r\n var {\r\n ios: ios,\r\n mac: mac\r\n } = devices.real();\r\n if (ios || mac) {\r\n defaultAttributes.placeholder = \" \"\r\n }\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n each(this.option(\"buttons\"), (_, _ref) => {\r\n var {\r\n options: options,\r\n name: buttonName\r\n } = _ref;\r\n if (options && !options.stylingMode && this.option(\"visible\")) {\r\n var buttonInstance = this.getButton(buttonName);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else if (!isDefined(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== (isDefined(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholderText = this.option(\"placeholder\");\r\n var $placeholder = this._$placeholder = $(\"
\").attr(\"data-dx_placeholder\", placeholderText);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var startEvent = addNamespace(pointerEvents.up, this.NAME);\r\n eventsEngine.on(this._$placeholder, startEvent, () => {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || $()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && eventsEngine.trigger($input, \"focus\");\r\n eventsEngine.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n if (this.hasActionSubscription(\"on\" + event)) {\r\n var action = this._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.on($input, addNamespace(event.toLowerCase(), this.NAME), e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n eventsEngine.off($input, addNamespace(event.toLowerCase(), this.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === normalizeKeyName(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n eventsEngine.trigger($input, \"change\")\r\n }\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = addNamespace(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = addNamespace(this.option(\"valueChangeEvent\"), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n eventsEngine.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n eventsEngine.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n eventsEngine.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n eventsEngine.off(this._input(), valueChangeNamespace);\r\n eventsEngine.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var result = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n result = result && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n }\r\n result && event.preventDefault();\r\n return result\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase($(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n eventsEngine.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === normalizeKeyName(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _hasActiveElement: function() {\r\n return this._input().is(domAdapter.getActiveElement())\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n if (inArray(name.replace(\"on\", \"\"), EVENTS_LIST) > -1) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"));\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (value && this.option(\"buttons\")) {\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n }\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nexport default TextEditorBase;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.base.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n clipboardText as getClipboardText\r\n} from \"../../core/utils/dom\";\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nexport default class BaseMaskStrategy {\r\n constructor(editor) {\r\n this.editor = editor;\r\n this.DIRECTION = {\r\n FORWARD: \"forward\",\r\n BACKWARD: \"backward\"\r\n };\r\n this.NAME = this._getStrategyName()\r\n }\r\n _getStrategyName() {\r\n return \"base\"\r\n }\r\n editorOption() {\r\n return this.editor.option(...arguments)\r\n }\r\n editorInput() {\r\n return this.editor._input()\r\n }\r\n editorCaret(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n }\r\n getHandler(handlerName) {\r\n var handler = this[\"_\".concat(handlerName, \"Handler\")] || function() {};\r\n return handler.bind(this)\r\n }\r\n attachEvents() {\r\n var $input = this.editorInput();\r\n this.getHandleEventNames().forEach(eventName => {\r\n var subscriptionName = addNamespace(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, subscriptionName, this.getEventHandler(eventName))\r\n });\r\n this._attachChangeEventHandlers()\r\n }\r\n getHandleEventNames() {\r\n return [\"focusIn\", \"focusOut\", \"keyDown\", \"input\", \"paste\", \"cut\", \"drop\"]\r\n }\r\n getEventHandler(eventName) {\r\n return this[\"_\".concat(eventName, \"Handler\")].bind(this)\r\n }\r\n detachEvents() {\r\n EventsEngine.off(this.editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n }\r\n _attachChangeEventHandlers() {\r\n if (-1 === inArray(\"change\", this.editorOption(\"valueChangeEvent\").split(\" \"))) {\r\n return\r\n }\r\n EventsEngine.on(this.editorInput(), addNamespace(BLUR_EVENT, MASK_EVENT_NAMESPACE), function(e) {\r\n this._suppressCaretChanging(this._changeHandler, [e]);\r\n this._changeHandler(e)\r\n }.bind(this.editor))\r\n }\r\n _focusInHandler() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor._direction(this.DIRECTION.FORWARD);\r\n if (!this.editor._isValueEmpty() && this.editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n }.bind(this.editor), 0)\r\n }\r\n }\r\n _focusOutHandler(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this.editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this.editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n }\r\n _cutHandler(event) {\r\n var caret = this.editorCaret();\r\n var selectedText = this.editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, () => getClipboardText(event, selectedText))\r\n }\r\n _dropHandler() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(function() {\r\n this.option(\"value\", this._convertToValue(this._input().val()))\r\n }.bind(this.editor))\r\n }\r\n _clearDragTimer() {\r\n clearTimeout(this._dragTimer)\r\n }\r\n _keyDownHandler() {\r\n this._keyPressHandled = false\r\n }\r\n _pasteHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n var caret = this.editorCaret();\r\n editor._maskKeyHandler(event, () => {\r\n var pastedText = getClipboardText(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n }\r\n _autoFillHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var inputVal = this.editorInput().val();\r\n this._inputHandlerTimer = setTimeout(() => {\r\n this._keyPressHandled = true;\r\n if (this._isAutoFill()) {\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n }\r\n _isAutoFill() {\r\n var $input = this.editor._input();\r\n var result = false;\r\n if (browser.msie && browser.version > 11) {\r\n result = $input.hasClass(\"edge-autofilled\")\r\n } else if (browser.webkit) {\r\n var input = $input.get(0);\r\n result = input && input.matches(\":-webkit-autofill\")\r\n }\r\n return result\r\n }\r\n runWithoutEventProcessing(action) {\r\n var keyPressHandled = this._keyPressHandled;\r\n this._keyPressHandled = true;\r\n action();\r\n this._keyPressHandled = keyPressHandled\r\n }\r\n _backspaceHandler() {}\r\n _delHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => !editor._hasSelection() && editor._handleKey(EMPTY_CHAR))\r\n }\r\n clean() {\r\n this._clearDragTimer();\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.default.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nimport {\r\n getChar\r\n} from \"../../events/utils/index\";\r\nimport Promise from \"../../core/polyfills/promise\";\r\nvar BACKSPACE_INPUT_TYPE = \"deleteContentBackward\";\r\nvar EMPTY_CHAR = \" \";\r\nclass DefaultMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"default\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"keyPress\"]\r\n }\r\n _keyPressHandler(event) {\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n if (this.editor._isControlKeyFired(event)) {\r\n return\r\n }\r\n var {\r\n editor: editor\r\n } = this;\r\n editor._maskKeyHandler(event, () => editor._handleKey(getChar(event)))\r\n }\r\n _inputHandler(event) {\r\n if (this._backspaceInputHandled(event.originalEvent && event.originalEvent.inputType)) {\r\n this._handleBackspaceInput(event)\r\n }\r\n if (event.originalEvent) {\r\n this._autoFillHandler(event)\r\n }\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n var inputValue = this.editorInput().val();\r\n var caret = this.editorCaret();\r\n if (!caret.end) {\r\n return\r\n }\r\n caret.start = caret.end - 1;\r\n var oldValue = inputValue.substring(0, caret.start) + inputValue.substring(caret.end);\r\n var char = inputValue[caret.start];\r\n var {\r\n editor: editor\r\n } = this;\r\n this.editorInput().val(oldValue);\r\n editor._caret({\r\n start: caret.start,\r\n end: caret.start\r\n });\r\n editor._maskKeyHandler(event, () => editor._handleKey(char))\r\n }\r\n _backspaceHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n var afterBackspaceHandler = (needAdjustCaret, callBack) => {\r\n if (needAdjustCaret) {\r\n editor._direction(this.DIRECTION.FORWARD);\r\n editor._adjustCaret()\r\n }\r\n var currentCaret = this.editorCaret();\r\n return new Promise(resolve => {\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n this._backspaceHandlerTimeout = setTimeout((function() {\r\n callBack(currentCaret);\r\n resolve()\r\n }))\r\n })\r\n };\r\n editor._maskKeyHandler(event, () => {\r\n if (editor._hasSelection()) {\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n }\r\n if (editor._tryMoveCaretBackward()) {\r\n return afterBackspaceHandler(false, currentCaret => {\r\n this.editorCaret(currentCaret)\r\n })\r\n }\r\n editor._handleKey(EMPTY_CHAR, this.DIRECTION.BACKWARD);\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n })\r\n }\r\n _backspaceInputHandled(inputType) {\r\n return inputType === BACKSPACE_INPUT_TYPE && !this._keyPressHandled\r\n }\r\n _handleBackspaceInput(event) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n this.editorCaret({\r\n start: start + 1,\r\n end: end + 1\r\n });\r\n this._backspaceHandler(event)\r\n }\r\n}\r\nexport default DefaultMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nvar DELETE_INPUT_TYPE = \"deleteContentBackward\";\r\nclass InputEventsMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"inputEvents\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"beforeInput\"]\r\n }\r\n _beforeInputHandler() {\r\n this._prevCaret = this.editorCaret()\r\n }\r\n _inputHandler(_ref) {\r\n var {\r\n originalEvent: originalEvent\r\n } = _ref;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var {\r\n inputType: inputType,\r\n data: data\r\n } = originalEvent;\r\n var currentCaret = this.editorCaret();\r\n if (inputType === DELETE_INPUT_TYPE) {\r\n var length = this._prevCaret.end - this._prevCaret.start || 1;\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: currentCaret.start,\r\n length: length,\r\n text: this._getEmptyString(length)\r\n })\r\n } else {\r\n var _this$_prevCaret, _this$_prevCaret2, _this$_prevCaret3;\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._autoFillHandler(originalEvent);\r\n this.editorCaret(currentCaret);\r\n var _length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start);\r\n var newData = data + (_length ? this._getEmptyString(_length - data.length) : \"\");\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start,\r\n length: _length || newData.length,\r\n text: newData\r\n });\r\n if (!hasValidChars) {\r\n this.editorCaret(this._prevCaret)\r\n }\r\n }\r\n }\r\n _getEmptyString(length) {\r\n return Array(length + 1).join(\" \")\r\n }\r\n _updateEditorMask(args) {\r\n var textLength = args.text.length;\r\n var updatedCharsCount = this.editor._handleChain(args);\r\n if (this.editor.isForwardDirection()) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n var correction = updatedCharsCount - textLength;\r\n if (start <= updatedCharsCount && updatedCharsCount > 1) {\r\n this.editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor.isForwardDirection() && this.editor._adjustCaret()\r\n }\r\n this.editor._displayMask();\r\n return !!updatedCharsCount\r\n }\r\n}\r\nexport default InputEventsMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport caretUtils from \"./utils.caret\";\r\nimport {\r\n isInputEventsL2Supported\r\n} from \"./utils.support\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/string\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n EmptyMaskRule,\r\n StubMaskRule,\r\n MaskRule\r\n} from \"./ui.text_editor.mask.rule\";\r\nimport TextEditorBase from \"./ui.text_editor.base\";\r\nimport DefaultMaskStrategy from \"./ui.text_editor.mask.strategy.default\";\r\nimport InputEventsMaskStrategy from \"./ui.text_editor.mask.strategy.input_events\";\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = caretUtils;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = TextEditorBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: messageLocalization.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n backspace: that._maskStrategy.getHandler(\"backspace\"),\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n each(keyHandlerMap, (function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n }));\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = isInputEventsL2Supported() ? new InputEventsMaskStrategy(this) : new DefaultMaskStrategy(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = addNamespace(wheelEventName, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n if (focused(input) && !isCommandKeyPressed(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: noop,\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = caretUtils\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = createEvent(e, {\r\n type: \"change\"\r\n });\r\n eventsEngine.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = extend({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n each(this._maskRules, (function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n }));\r\n return isDefined(ruleConfig) ? new MaskRule(extend({\r\n maskChar: this.option(\"maskChar\")\r\n }, ruleConfig)) : new StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return isEmpty(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return focused(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !isEmpty(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey(normalizeKeyName(e)) || isCommandKeyPressed(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._value = this._maskRulesChain.value();\r\n this._textValue = this._maskRulesChain.text();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = () => {\r\n if (previousText !== this._input().val()) {\r\n this._maskStrategy.runWithoutEventProcessing(() => eventsEngine.trigger(this._input(), \"input\"))\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caret = this._maskRulesChain.adjustedCaret(this._caret().start, this.isForwardDirection(), char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position, force) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position, force)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = isEmpty(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditorMask from \"./ui.text_editor.mask\";\r\nregisterComponent(\"dxTextEditor\", TextEditorMask);\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isRenderer\r\n} from \"../../core/utils/type\";\r\nvar abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: el => domAdapter.isNode(el && isRenderer(el) ? el.get(0) : el),\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nexport default EditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport EditStrategy from \"./ui.collection_widget.edit.strategy\";\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return inArray(itemData, this._getPlainItems())\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache;\r\n var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems();\r\n var movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nexport default PlainEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport Button from \"../button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nexport default class DropDownButton extends TextEditorButton {\r\n constructor(name, editor, options) {\r\n super(name, editor, options);\r\n this.currentTemplate = null\r\n }\r\n _attachEvents(instance) {\r\n var {\r\n editor: editor\r\n } = this;\r\n instance.option(\"onClick\", e => {\r\n !editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n eventsEngine.on(instance.$element(), \"mousedown\", e => {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"
\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, options, {\r\n elementAttr: {\r\n \"aria-label\": messageLocalization.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showDropDownButton\")\r\n }\r\n _legacyRender($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n }\r\n _isSameTemplate() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n }\r\n _addTemplate(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../core/utils/position\";\r\nimport DropDownButton from \"./ui.drop_down_button\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport Popup from \"../popup\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./utils\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === devices.current().platform;\r\nvar DropDownEditor = TextBox.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n $focusableElement && eventsEngine.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: DropDownButton\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n cancelButtonText: messageLocalization.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = getDefaultAlignment(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this._getDefaultPopupPosition(isRtlEnabled);\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", extend({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", \"combobox\")\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner($(\"
\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"true\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var isFocused = focused(this._input());\r\n var $container = this._$container;\r\n this._detachKeyboardEvents();\r\n this._refreshButtonsContainer();\r\n this._detachWrapperContent();\r\n this._detachFocusEvents();\r\n $container.empty();\r\n var $templateWrapper = $(\"
\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: getPublicElement($templateWrapper),\r\n onRendered: () => {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n throw errors.Error(\"E1010\")\r\n }\r\n this._integrateInput();\r\n isFocused && eventsEngine.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent() {\r\n var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach());\r\n var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode;\r\n var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode;\r\n null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]);\r\n null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0])\r\n },\r\n _attachWrapperContent($container) {\r\n var _this$_$submitElement2;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n $container.prepend(this._$beforeButtonsContainer);\r\n useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container));\r\n $container.append(this._$afterButtonsContainer)\r\n },\r\n _refreshButtonsContainer() {\r\n this._$buttonsContainer = this.$element().children().eq(0)\r\n },\r\n _integrateInput: function() {\r\n this._refreshEvents();\r\n this._refreshValueChangeEvent();\r\n this._renderFocusState();\r\n this._refreshEmptinessEvent()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n eventsEngine.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new FunctionTemplate((function(options) {\r\n var $icon = $(\"
\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n $(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n eventsEngine.off($inputWrapper, eventName);\r\n eventsEngine.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n eventsEngine.on(this._inputWrapper(), addNamespace(\"focusout\", this.NAME), event => {\r\n var newTarget = event.relatedTarget;\r\n var popupWrapper = this.content ? $(this.content()).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY) : this._$popup;\r\n if (newTarget && this.option(\"opened\")) {\r\n var isNewTargetOutside = 0 === $(newTarget).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY, popupWrapper).length;\r\n if (isNewTargetOutside) {\r\n this.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && eventsEngine.off(this._inputWrapper(), addNamespace(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n return openOnFieldClick ? e => {\r\n this._executeOpenAction(e)\r\n } : e => {\r\n this._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !focused(this._input())) {\r\n this._resetCaretPosition();\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var {\r\n value: value\r\n } = inputElement;\r\n var caretPosition = isDefined(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n this.setAria({\r\n expanded: opened\r\n });\r\n this.setAria(\"owns\", opened ? this._popupContentId : void 0, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"
\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: noop,\r\n _renderPopup: function() {\r\n var popupConfig = extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n this._popup = this._createComponent(this._$popup, Popup, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId($popupContent) {\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: noop,\r\n _popupConfig: function() {\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n closeOnTargetScroll: true,\r\n closeOnOutsideClick: this._closeOutsideDropDownHandler.bind(this),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return e => {\r\n this._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n e.position && this._popup.$overlayContent().toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, e.position.v.flip)\r\n },\r\n _popupShowingHandler: noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionRequest\", this._getValidationMessagePositionRequest())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionRequest\", this._getValidationMessagePositionRequest())\r\n },\r\n _getValidationMessagePositionRequest: function() {\r\n var positionRequest = \"below\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var {\r\n top: myTop\r\n } = animationPosition.setup(this.$element());\r\n var {\r\n top: popupTop\r\n } = animationPosition.setup(this._popup.$content());\r\n positionRequest = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"below\" : \"above\"\r\n }\r\n return positionRequest\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n var $target = $(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = $(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = splitPair(buttonsLocation);\r\n each(resultConfig, (function(_, element) {\r\n extend(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n }))\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n showPopupTitle: {\r\n since: \"20.1\",\r\n alias: \"dropDownOptions.showTitle\"\r\n }\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n if (isDefined(args.value)) {\r\n this._renderField()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if (hasWindow()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"showPopupTitle\":\r\n this._setPopupOption(\"showTitle\", args.value);\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return getPublicElement(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\nregisterComponent(\"dxDropDownEditor\", DropDownEditor);\r\nexport default DropDownEditor;\r\n","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.ComponentBase = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar options_manager_1 = require(\"./options-manager\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar templates_renderer_1 = require(\"./templates-renderer\");\nvar templates_store_1 = require(\"./templates-store\");\nvar widget_config_1 = require(\"./widget-config\");\nvar tree_1 = require(\"./configuration/react/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar DX_REMOVE_EVENT = 'dxremove';\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this.isPortalComponent = false;\n _this._templateProps = [];\n _this.useDeferUpdateFlag = false;\n _this.useDeferUpdateForTemplates = false;\n _this._setTemplatesRendererRef = _this._setTemplatesRendererRef.bind(_this);\n _this._createWidget = _this._createWidget.bind(_this);\n _this._templatesStore = new templates_store_1.TemplatesStore(function () {\n if (_this._templatesRendererRef) {\n _this._templatesRendererRef.scheduleUpdate(_this.useDeferUpdateForTemplates);\n }\n });\n _this._templatesManager = new templates_manager_1.default(_this._templatesStore);\n _this._optionsManager = new options_manager_1.OptionsManager(_this._templatesManager);\n return _this;\n }\n ComponentBase.displayContentsStyle = function () {\n return utils_1.isIE()\n ? {\n width: '100%',\n height: '100%',\n padding: 0,\n margin: 0,\n }\n : { display: 'contents' };\n };\n ComponentBase.prototype.componentDidMount = function () {\n this._updateCssClasses(null, this.props);\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n this._optionsManager.update(config);\n if (this._templatesRendererRef) {\n this._templatesRendererRef.scheduleUpdate(this.useDeferUpdateForTemplates);\n }\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n if (this._instance) {\n events.triggerHandler(this._element, DX_REMOVE_EVENT);\n this._instance.dispose();\n }\n this._optionsManager.dispose();\n };\n ComponentBase.prototype._createWidget = function (element) {\n element = element || this._element;\n var config = this._getConfig();\n this._instance = new this._WidgetClass(element, __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config)));\n if (this.useDeferUpdateFlag) {\n this.useDeferUpdateForTemplates = this._instance.option('integrationOptions.useDeferUpdateForTemplates');\n }\n this._optionsManager.setInstance(this._instance, config, this.subscribableOptions, this.independentEvents);\n this._instance.on('optionChanged', this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype._getConfig = function () {\n return tree_1.buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren,\n }, this.props);\n };\n ComponentBase.prototype._setTemplatesRendererRef = function (instance) {\n this._templatesRendererRef = instance;\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { _this._element = element; },\n };\n widget_config_1.elementPropNames.forEach(function (name) {\n var props = _this.props;\n if (name in props) {\n elementProps[name] = props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? widget_config_1.getClassName(prevProps) : undefined;\n var newClassName = widget_config_1.getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, classNames);\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, classNames);\n }\n }\n };\n ComponentBase.prototype.renderChildren = function () {\n var children = this.props.children;\n return children;\n };\n ComponentBase.prototype.renderContent = function () {\n var _this = this;\n var children = this.props.children;\n return this.isPortalComponent && children\n ? React.createElement('div', {\n ref: function (node) {\n if (node && _this.portalContainer !== node) {\n _this.portalContainer = node;\n _this.forceUpdate();\n }\n },\n style: ComponentBase.displayContentsStyle(),\n })\n : this.renderChildren();\n };\n ComponentBase.prototype.renderPortal = function () {\n return this.portalContainer && react_dom_1.createPortal(this.renderChildren(), this.portalContainer);\n };\n ComponentBase.prototype.render = function () {\n return React.createElement(React.Fragment, {}, React.createElement('div', this._getElementProps(), this.renderContent(), React.createElement(templates_renderer_1.TemplatesRenderer, {\n templatesStore: this._templatesStore,\n ref: this._setTemplatesRendererRef,\n })), this.isPortalComponent && this.renderPortal());\n };\n return ComponentBase;\n}(React.PureComponent));\nexports.ComponentBase = ComponentBase;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar BlockMapBuilder = require(\"./BlockMapBuilder\");\n\nvar CharacterMetadata = require(\"./CharacterMetadata\");\n\nvar ContentBlock = require(\"./ContentBlock\");\n\nvar ContentBlockNode = require(\"./ContentBlockNode\");\n\nvar DraftEntity = require(\"./DraftEntity\");\n\nvar SelectionState = require(\"./SelectionState\");\n\nvar generateRandomKey = require(\"./generateRandomKey\");\n\nvar getOwnObjectValues = require(\"./getOwnObjectValues\");\n\nvar gkx = require(\"./gkx\");\n\nvar Immutable = require(\"immutable\");\n\nvar sanitizeDraftText = require(\"./sanitizeDraftText\");\n\nvar List = Immutable.List,\n Record = Immutable.Record,\n Repeat = Immutable.Repeat,\n ImmutableMap = Immutable.Map,\n OrderedMap = Immutable.OrderedMap;\nvar defaultRecord = {\n entityMap: null,\n blockMap: null,\n selectionBefore: null,\n selectionAfter: null\n};\nvar ContentStateRecord = Record(defaultRecord);\n/* $FlowFixMe[signature-verification-failure] Supressing a `signature-\n * verification-failure` error here. TODO: T65949050 Clean up the branch for\n * this GK */\n\nvar ContentBlockNodeRecord = gkx('draft_tree_data_support') ? ContentBlockNode : ContentBlock;\n\nvar ContentState = /*#__PURE__*/function (_ContentStateRecord) {\n _inheritsLoose(ContentState, _ContentStateRecord);\n\n function ContentState() {\n return _ContentStateRecord.apply(this, arguments) || this;\n }\n\n var _proto = ContentState.prototype;\n\n _proto.getEntityMap = function getEntityMap() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity;\n };\n\n _proto.getBlockMap = function getBlockMap() {\n return this.get('blockMap');\n };\n\n _proto.getSelectionBefore = function getSelectionBefore() {\n return this.get('selectionBefore');\n };\n\n _proto.getSelectionAfter = function getSelectionAfter() {\n return this.get('selectionAfter');\n };\n\n _proto.getBlockForKey = function getBlockForKey(key) {\n var block = this.getBlockMap().get(key);\n return block;\n };\n\n _proto.getKeyBefore = function getKeyBefore(key) {\n return this.getBlockMap().reverse().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n _proto.getKeyAfter = function getKeyAfter(key) {\n return this.getBlockMap().keySeq().skipUntil(function (v) {\n return v === key;\n }).skip(1).first();\n };\n\n _proto.getBlockAfter = function getBlockAfter(key) {\n return this.getBlockMap().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n _proto.getBlockBefore = function getBlockBefore(key) {\n return this.getBlockMap().reverse().skipUntil(function (_, k) {\n return k === key;\n }).skip(1).first();\n };\n\n _proto.getBlocksAsArray = function getBlocksAsArray() {\n return this.getBlockMap().toArray();\n };\n\n _proto.getFirstBlock = function getFirstBlock() {\n return this.getBlockMap().first();\n };\n\n _proto.getLastBlock = function getLastBlock() {\n return this.getBlockMap().last();\n };\n\n _proto.getPlainText = function getPlainText(delimiter) {\n return this.getBlockMap().map(function (block) {\n return block ? block.getText() : '';\n }).join(delimiter || '\\n');\n };\n\n _proto.getLastCreatedEntityKey = function getLastCreatedEntityKey() {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__getLastCreatedEntityKey();\n };\n\n _proto.hasText = function hasText() {\n var blockMap = this.getBlockMap();\n return blockMap.size > 1 || // make sure that there are no zero width space chars\n escape(blockMap.first().getText()).replace(/%u200B/g, '').length > 0;\n };\n\n _proto.createEntity = function createEntity(type, mutability, data) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__create(type, mutability, data);\n\n return this;\n };\n\n _proto.mergeEntityData = function mergeEntityData(key, toMerge) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__mergeData(key, toMerge);\n\n return this;\n };\n\n _proto.replaceEntityData = function replaceEntityData(key, newData) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__replaceData(key, newData);\n\n return this;\n };\n\n _proto.addEntity = function addEntity(instance) {\n // TODO: update this when we fully remove DraftEntity\n DraftEntity.__add(instance);\n\n return this;\n };\n\n _proto.getEntity = function getEntity(key) {\n // TODO: update this when we fully remove DraftEntity\n return DraftEntity.__get(key);\n };\n\n _proto.getAllEntities = function getAllEntities() {\n return DraftEntity.__getAll();\n };\n\n _proto.loadWithEntities = function loadWithEntities(entities) {\n return DraftEntity.__loadWithEntities(entities);\n };\n\n ContentState.createFromBlockArray = function createFromBlockArray( // TODO: update flow type when we completely deprecate the old entity API\n blocks, entityMap) {\n // TODO: remove this when we completely deprecate the old entity API\n var theBlocks = Array.isArray(blocks) ? blocks : blocks.contentBlocks;\n var blockMap = BlockMapBuilder.createFromArray(theBlocks);\n var selectionState = blockMap.isEmpty() ? new SelectionState() : SelectionState.createEmpty(blockMap.first().getKey());\n return new ContentState({\n blockMap: blockMap,\n entityMap: entityMap || DraftEntity,\n selectionBefore: selectionState,\n selectionAfter: selectionState\n });\n };\n\n ContentState.createFromText = function createFromText(text) {\n var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : /\\r\\n?|\\n/g;\n var strings = text.split(delimiter);\n var blocks = strings.map(function (block) {\n block = sanitizeDraftText(block);\n return new ContentBlockNodeRecord({\n key: generateRandomKey(),\n text: block,\n type: 'unstyled',\n characterList: List(Repeat(CharacterMetadata.EMPTY, block.length))\n });\n });\n return ContentState.createFromBlockArray(blocks);\n };\n\n ContentState.fromJS = function fromJS(state) {\n return new ContentState(_objectSpread({}, state, {\n blockMap: OrderedMap(state.blockMap).map(ContentState.createContentBlockFromJS),\n selectionBefore: new SelectionState(state.selectionBefore),\n selectionAfter: new SelectionState(state.selectionAfter)\n }));\n };\n\n ContentState.createContentBlockFromJS = function createContentBlockFromJS(block) {\n var characterList = block.characterList;\n return new ContentBlockNodeRecord(_objectSpread({}, block, {\n data: ImmutableMap(block.data),\n characterList: characterList != null ? List((Array.isArray(characterList) ? characterList : getOwnObjectValues(characterList)).map(function (c) {\n return CharacterMetadata.fromJS(c);\n })) : undefined\n }));\n };\n\n return ContentState;\n}(ContentStateRecord);\n\nmodule.exports = ContentState;","/**\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/**\n * Basic (stateless) API for text direction detection\n *\n * Part of our implementation of Unicode Bidirectional Algorithm (UBA)\n * Unicode Standard Annex #9 (UAX9)\n * http://www.unicode.org/reports/tr9/\n */\n'use strict';\n\nvar UnicodeBidiDirection = require(\"./UnicodeBidiDirection\");\n\nvar invariant = require(\"./invariant\");\n\n/**\n * RegExp ranges of characters with a *Strong* Bidi_Class value.\n *\n * Data is based on DerivedBidiClass.txt in UCD version 7.0.0.\n *\n * NOTE: For performance reasons, we only support Unicode's\n * Basic Multilingual Plane (BMP) for now.\n */\nvar RANGE_BY_BIDI_TYPE = {\n L: \"A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u01BA\\u01BB\" + \"\\u01BC-\\u01BF\\u01C0-\\u01C3\\u01C4-\\u0293\\u0294\\u0295-\\u02AF\\u02B0-\\u02B8\" + \"\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u0377\" + \"\\u037A\\u037B-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\" + \"\\u03A3-\\u03F5\\u03F7-\\u0481\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559\" + \"\\u055A-\\u055F\\u0561-\\u0587\\u0589\\u0903\\u0904-\\u0939\\u093B\\u093D\" + \"\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0950\\u0958-\\u0961\\u0964-\\u0965\" + \"\\u0966-\\u096F\\u0970\\u0971\\u0972-\\u0980\\u0982-\\u0983\\u0985-\\u098C\" + \"\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\" + \"\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09CE\\u09D7\\u09DC-\\u09DD\" + \"\\u09DF-\\u09E1\\u09E6-\\u09EF\\u09F0-\\u09F1\\u09F4-\\u09F9\\u09FA\\u0A03\" + \"\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\" + \"\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\" + \"\\u0A72-\\u0A74\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\" + \"\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0AD0\" + \"\\u0AE0-\\u0AE1\\u0AE6-\\u0AEF\\u0AF0\\u0B02-\\u0B03\\u0B05-\\u0B0C\\u0B0F-\\u0B10\" + \"\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\" + \"\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\" + \"\\u0B70\\u0B71\\u0B72-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\" + \"\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\" + \"\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\" + \"\\u0BE6-\\u0BEF\\u0BF0-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\" + \"\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C59\\u0C60-\\u0C61\" + \"\\u0C66-\\u0C6F\\u0C7F\\u0C82-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\" + \"\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CBE\\u0CBF\\u0CC0-\\u0CC4\\u0CC6\" + \"\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0CDE\\u0CE0-\\u0CE1\\u0CE6-\\u0CEF\" + \"\\u0CF1-\\u0CF2\\u0D02-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\" + \"\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D57\\u0D60-\\u0D61\" + \"\\u0D66-\\u0D6F\\u0D70-\\u0D75\\u0D79\\u0D7A-\\u0D7F\\u0D82-\\u0D83\\u0D85-\\u0D96\" + \"\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\" + \"\\u0DE6-\\u0DEF\\u0DF2-\\u0DF3\\u0DF4\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E45\" + \"\\u0E46\\u0E4F\\u0E50-\\u0E59\\u0E5A-\\u0E5B\\u0E81-\\u0E82\\u0E84\\u0E87-\\u0E88\" + \"\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\" + \"\\u0EAA-\\u0EAB\\u0EAD-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\" + \"\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F01-\\u0F03\\u0F04-\\u0F12\\u0F13\\u0F14\" + \"\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F20-\\u0F29\\u0F2A-\\u0F33\\u0F34\\u0F36\\u0F38\" + \"\\u0F3E-\\u0F3F\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\" + \"\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FCF\\u0FD0-\\u0FD4\\u0FD5-\\u0FD8\" + \"\\u0FD9-\\u0FDA\\u1000-\\u102A\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F\" + \"\\u1040-\\u1049\\u104A-\\u104F\\u1050-\\u1055\\u1056-\\u1057\\u105A-\\u105D\\u1061\" + \"\\u1062-\\u1064\\u1065-\\u1066\\u1067-\\u106D\\u106E-\\u1070\\u1075-\\u1081\" + \"\\u1083-\\u1084\\u1087-\\u108C\\u108E\\u108F\\u1090-\\u1099\\u109A-\\u109C\" + \"\\u109E-\\u109F\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FB\\u10FC\" + \"\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\" + \"\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\" + \"\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u1368\" + \"\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166D-\\u166E\" + \"\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EB-\\u16ED\\u16EE-\\u16F0\" + \"\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1735-\\u1736\" + \"\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\" + \"\\u17C7-\\u17C8\\u17D4-\\u17D6\\u17D7\\u17D8-\\u17DA\\u17DC\\u17E0-\\u17E9\" + \"\\u1810-\\u1819\\u1820-\\u1842\\u1843\\u1844-\\u1877\\u1880-\\u18A8\\u18AA\" + \"\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931\" + \"\\u1933-\\u1938\\u1946-\\u194F\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\" + \"\\u19B0-\\u19C0\\u19C1-\\u19C7\\u19C8-\\u19C9\\u19D0-\\u19D9\\u19DA\\u1A00-\\u1A16\" + \"\\u1A19-\\u1A1A\\u1A1E-\\u1A1F\\u1A20-\\u1A54\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\" + \"\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AA6\\u1AA7\\u1AA8-\\u1AAD\" + \"\\u1B04\\u1B05-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B45-\\u1B4B\" + \"\\u1B50-\\u1B59\\u1B5A-\\u1B60\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1B82\\u1B83-\\u1BA0\" + \"\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BAE-\\u1BAF\\u1BB0-\\u1BB9\\u1BBA-\\u1BE5\\u1BE7\" + \"\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1BFC-\\u1BFF\\u1C00-\\u1C23\\u1C24-\\u1C2B\" + \"\\u1C34-\\u1C35\\u1C3B-\\u1C3F\\u1C40-\\u1C49\\u1C4D-\\u1C4F\\u1C50-\\u1C59\" + \"\\u1C5A-\\u1C77\\u1C78-\\u1C7D\\u1C7E-\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u1CE1\" + \"\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF2-\\u1CF3\\u1CF5-\\u1CF6\\u1D00-\\u1D2B\" + \"\\u1D2C-\\u1D6A\\u1D6B-\\u1D77\\u1D78\\u1D79-\\u1D9A\\u1D9B-\\u1DBF\\u1E00-\\u1F15\" + \"\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\" + \"\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\" + \"\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\" + \"\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\" + \"\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2134\\u2135-\\u2138\\u2139\" + \"\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2182\\u2183-\\u2184\" + \"\\u2185-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\" + \"\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C7B\\u2C7C-\\u2C7D\\u2C7E-\\u2CE4\" + \"\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\" + \"\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\" + \"\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005\\u3006\\u3007\" + \"\\u3021-\\u3029\\u302E-\\u302F\\u3031-\\u3035\\u3038-\\u303A\\u303B\\u303C\" + \"\\u3041-\\u3096\\u309D-\\u309E\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FE\\u30FF\" + \"\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u3191\\u3192-\\u3195\\u3196-\\u319F\" + \"\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3200-\\u321C\\u3220-\\u3229\\u322A-\\u3247\" + \"\\u3248-\\u324F\\u3260-\\u327B\\u327F\\u3280-\\u3289\\u328A-\\u32B0\\u32C0-\\u32CB\" + \"\\u32D0-\\u32FE\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\" + \"\\u4E00-\\u9FCC\\uA000-\\uA014\\uA015\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA4F8-\\uA4FD\" + \"\\uA4FE-\\uA4FF\\uA500-\\uA60B\\uA60C\\uA610-\\uA61F\\uA620-\\uA629\\uA62A-\\uA62B\" + \"\\uA640-\\uA66D\\uA66E\\uA680-\\uA69B\\uA69C-\\uA69D\\uA6A0-\\uA6E5\\uA6E6-\\uA6EF\" + \"\\uA6F2-\\uA6F7\\uA722-\\uA76F\\uA770\\uA771-\\uA787\\uA789-\\uA78A\\uA78B-\\uA78E\" + \"\\uA790-\\uA7AD\\uA7B0-\\uA7B1\\uA7F7\\uA7F8-\\uA7F9\\uA7FA\\uA7FB-\\uA801\" + \"\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA823-\\uA824\\uA827\\uA830-\\uA835\" + \"\\uA836-\\uA837\\uA840-\\uA873\\uA880-\\uA881\\uA882-\\uA8B3\\uA8B4-\\uA8C3\" + \"\\uA8CE-\\uA8CF\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8F8-\\uA8FA\\uA8FB\\uA900-\\uA909\" + \"\\uA90A-\\uA925\\uA92E-\\uA92F\\uA930-\\uA946\\uA952-\\uA953\\uA95F\\uA960-\\uA97C\" + \"\\uA983\\uA984-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uA9C0\\uA9C1-\\uA9CD\" + \"\\uA9CF\\uA9D0-\\uA9D9\\uA9DE-\\uA9DF\\uA9E0-\\uA9E4\\uA9E6\\uA9E7-\\uA9EF\" + \"\\uA9F0-\\uA9F9\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\" + \"\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA5F\\uAA60-\\uAA6F\" + \"\\uAA70\\uAA71-\\uAA76\\uAA77-\\uAA79\\uAA7A\\uAA7B\\uAA7D\\uAA7E-\\uAAAF\\uAAB1\" + \"\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADC\\uAADD\\uAADE-\\uAADF\" + \"\\uAAE0-\\uAAEA\\uAAEB\\uAAEE-\\uAAEF\\uAAF0-\\uAAF1\\uAAF2\\uAAF3-\\uAAF4\\uAAF5\" + \"\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\" + \"\\uAB30-\\uAB5A\\uAB5B\\uAB5C-\\uAB5F\\uAB64-\\uAB65\\uABC0-\\uABE2\\uABE3-\\uABE4\" + \"\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEB\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\" + \"\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uE000-\\uF8FF\\uF900-\\uFA6D\\uFA70-\\uFAD9\" + \"\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFF6F\\uFF70\" + \"\\uFF71-\\uFF9D\\uFF9E-\\uFF9F\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\" + \"\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\",\n R: \"\\u0590\\u05BE\\u05C0\\u05C3\\u05C6\\u05C8-\\u05CF\\u05D0-\\u05EA\\u05EB-\\u05EF\" + \"\\u05F0-\\u05F2\\u05F3-\\u05F4\\u05F5-\\u05FF\\u07C0-\\u07C9\\u07CA-\\u07EA\" + \"\\u07F4-\\u07F5\\u07FA\\u07FB-\\u07FF\\u0800-\\u0815\\u081A\\u0824\\u0828\" + \"\\u082E-\\u082F\\u0830-\\u083E\\u083F\\u0840-\\u0858\\u085C-\\u085D\\u085E\" + \"\\u085F-\\u089F\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB37\\uFB38-\\uFB3C\" + \"\\uFB3D\\uFB3E\\uFB3F\\uFB40-\\uFB41\\uFB42\\uFB43-\\uFB44\\uFB45\\uFB46-\\uFB4F\",\n AL: \"\\u0608\\u060B\\u060D\\u061B\\u061C\\u061D\\u061E-\\u061F\\u0620-\\u063F\\u0640\" + \"\\u0641-\\u064A\\u066D\\u066E-\\u066F\\u0671-\\u06D3\\u06D4\\u06D5\\u06E5-\\u06E6\" + \"\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FD-\\u06FE\\u06FF\\u0700-\\u070D\\u070E\\u070F\" + \"\\u0710\\u0712-\\u072F\\u074B-\\u074C\\u074D-\\u07A5\\u07B1\\u07B2-\\u07BF\" + \"\\u08A0-\\u08B2\\u08B3-\\u08E3\\uFB50-\\uFBB1\\uFBB2-\\uFBC1\\uFBC2-\\uFBD2\" + \"\\uFBD3-\\uFD3D\\uFD40-\\uFD4F\\uFD50-\\uFD8F\\uFD90-\\uFD91\\uFD92-\\uFDC7\" + \"\\uFDC8-\\uFDCF\\uFDF0-\\uFDFB\\uFDFC\\uFDFE-\\uFDFF\\uFE70-\\uFE74\\uFE75\" + \"\\uFE76-\\uFEFC\\uFEFD-\\uFEFE\"\n};\nvar REGEX_STRONG = new RegExp('[' + RANGE_BY_BIDI_TYPE.L + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\nvar REGEX_RTL = new RegExp('[' + RANGE_BY_BIDI_TYPE.R + RANGE_BY_BIDI_TYPE.AL + ']');\n/**\n * Returns the first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return A character with strong bidi direction, or null if not found\n */\n\nfunction firstStrongChar(str) {\n var match = REGEX_STRONG.exec(str);\n return match == null ? null : match[0];\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL).\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @return The resolved direction\n */\n\n\nfunction firstStrongCharDir(str) {\n var strongChar = firstStrongChar(str);\n\n if (strongChar == null) {\n return UnicodeBidiDirection.NEUTRAL;\n }\n\n return REGEX_RTL.exec(strongChar) ? UnicodeBidiDirection.RTL : UnicodeBidiDirection.LTR;\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell, tag\n * @param fallback Fallback direction, used if no strong direction detected\n * for the block (default = NEUTRAL)\n * @return The resolved direction\n */\n\n\nfunction resolveBlockDir(str, fallback) {\n fallback = fallback || UnicodeBidiDirection.NEUTRAL;\n\n if (!str.length) {\n return fallback;\n }\n\n var blockDir = firstStrongCharDir(str);\n return blockDir === UnicodeBidiDirection.NEUTRAL ? fallback : blockDir;\n}\n/**\n * Returns the direction of a block of text, based on the direction of its\n * first strong character (has Bidi_Class value of L, R, or AL), or a fallback\n * direction, if no strong character is found.\n *\n * NOTE: This function is similar to resolveBlockDir(), but uses the global\n * direction as the fallback, so it *always* returns a Strong direction,\n * making it useful for integration in places that you need to make the final\n * decision, like setting some CSS class.\n *\n * This function is supposed to be used in respect to Higher-Level Protocol\n * rule HL1. (http://www.unicode.org/reports/tr9/#HL1)\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return The resolved Strong direction\n */\n\n\nfunction getDirection(str, strongFallback) {\n if (!strongFallback) {\n strongFallback = UnicodeBidiDirection.getGlobalDir();\n }\n\n !UnicodeBidiDirection.isStrong(strongFallback) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Fallback direction must be a strong direction') : invariant(false) : void 0;\n return resolveBlockDir(str, strongFallback);\n}\n/**\n * Returns true if getDirection(arguments...) returns LTR.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is LTR\n */\n\n\nfunction isDirectionLTR(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.LTR;\n}\n/**\n * Returns true if getDirection(arguments...) returns RTL.\n *\n * @param str A text block; e.g. paragraph, table cell\n * @param strongFallback Fallback direction, used if no strong direction\n * detected for the block (default = global direction)\n * @return True if the resolved direction is RTL\n */\n\n\nfunction isDirectionRTL(str, strongFallback) {\n return getDirection(str, strongFallback) === UnicodeBidiDirection.RTL;\n}\n\nvar UnicodeBidi = {\n firstStrongChar: firstStrongChar,\n firstStrongCharDir: firstStrongCharDir,\n resolveBlockDir: resolveBlockDir,\n getDirection: getDirection,\n isDirectionLTR: isDirectionLTR,\n isDirectionRTL: isDirectionRTL\n};\nmodule.exports = UnicodeBidi;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar React = require(\"react\");\n\nvar cx = require(\"fbjs/lib/cx\");\n\nvar _require = require(\"immutable\"),\n Map = _require.Map;\n\nvar UL_WRAP = React.createElement(\"ul\", {\n className: cx('public/DraftStyleDefault/ul')\n});\nvar OL_WRAP = React.createElement(\"ol\", {\n className: cx('public/DraftStyleDefault/ol')\n});\nvar PRE_WRAP = React.createElement(\"pre\", {\n className: cx('public/DraftStyleDefault/pre')\n});\nvar DefaultDraftBlockRenderMap = Map({\n 'header-one': {\n element: 'h1'\n },\n 'header-two': {\n element: 'h2'\n },\n 'header-three': {\n element: 'h3'\n },\n 'header-four': {\n element: 'h4'\n },\n 'header-five': {\n element: 'h5'\n },\n 'header-six': {\n element: 'h6'\n },\n section: {\n element: 'section'\n },\n article: {\n element: 'article'\n },\n 'unordered-list-item': {\n element: 'li',\n wrapper: UL_WRAP\n },\n 'ordered-list-item': {\n element: 'li',\n wrapper: OL_WRAP\n },\n blockquote: {\n element: 'blockquote'\n },\n atomic: {\n element: 'figure'\n },\n 'code-block': {\n element: 'pre',\n wrapper: PRE_WRAP\n },\n unstyled: {\n element: 'div',\n aliasedElements: ['p']\n }\n});\nmodule.exports = DefaultDraftBlockRenderMap;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar _require = require(\"./draftKeyUtils\"),\n notEmptyKey = _require.notEmptyKey;\n/**\n * Return the entity key that should be used when inserting text for the\n * specified target selection, only if the entity is `MUTABLE`. `IMMUTABLE`\n * and `SEGMENTED` entities should not be used for insertion behavior.\n */\n\n\nfunction getEntityKeyForSelection(contentState, targetSelection) {\n var entityKey;\n\n if (targetSelection.isCollapsed()) {\n var key = targetSelection.getAnchorKey();\n var offset = targetSelection.getAnchorOffset();\n\n if (offset > 0) {\n entityKey = contentState.getBlockForKey(key).getEntityAt(offset - 1);\n\n if (entityKey !== contentState.getBlockForKey(key).getEntityAt(offset)) {\n return null;\n }\n\n return filterKey(contentState.getEntityMap(), entityKey);\n }\n\n return null;\n }\n\n var startKey = targetSelection.getStartKey();\n var startOffset = targetSelection.getStartOffset();\n var startBlock = contentState.getBlockForKey(startKey);\n entityKey = startOffset === startBlock.getLength() ? null : startBlock.getEntityAt(startOffset);\n return filterKey(contentState.getEntityMap(), entityKey);\n}\n/**\n * Determine whether an entity key corresponds to a `MUTABLE` entity. If so,\n * return it. If not, return null.\n */\n\n\nfunction filterKey(entityMap, entityKey) {\n if (notEmptyKey(entityKey)) {\n var entity = entityMap.__get(entityKey);\n\n return entity.getMutability() === 'MUTABLE' ? entityKey : null;\n }\n\n return null;\n}\n\nmodule.exports = getEntityKeyForSelection;","\"use strict\";\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 */\nvar isTextNode = require(\"./isTextNode\");\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\n\n\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","\"use strict\";\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\n/**\n * @param {DOMElement} element\n * @param {DOMDocument} doc\n * @return {boolean}\n */\nfunction _isViewportScrollElement(element, doc) {\n return !!doc && (element === doc.documentElement || element === doc.body);\n}\n/**\n * Scroll Module. This class contains 4 simple static functions\n * to be used to access Element.scrollTop/scrollLeft properties.\n * To solve the inconsistencies between browsers when either\n * document.body or document.documentElement is supplied,\n * below logic will be used to alleviate the issue:\n *\n * 1. If 'element' is either 'document.body' or 'document.documentElement,\n * get whichever element's 'scroll{Top,Left}' is larger.\n * 2. If 'element' is either 'document.body' or 'document.documentElement',\n * set the 'scroll{Top,Left}' on both elements.\n */\n\n\nvar Scroll = {\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getTop: function getTop(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? // In practice, they will either both have the same value,\n // or one will be zero and the other will be the scroll position\n // of the viewport. So we can use `X || Y` instead of `Math.max(X, Y)`\n doc.body.scrollTop || doc.documentElement.scrollTop : element.scrollTop;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newTop\n */\n setTop: function setTop(element, newTop) {\n var doc = element.ownerDocument;\n\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollTop = doc.documentElement.scrollTop = newTop;\n } else {\n element.scrollTop = newTop;\n }\n },\n\n /**\n * @param {DOMElement} element\n * @return {number}\n */\n getLeft: function getLeft(element) {\n var doc = element.ownerDocument;\n return _isViewportScrollElement(element, doc) ? doc.body.scrollLeft || doc.documentElement.scrollLeft : element.scrollLeft;\n },\n\n /**\n * @param {DOMElement} element\n * @param {number} newLeft\n */\n setLeft: function setLeft(element, newLeft) {\n var doc = element.ownerDocument;\n\n if (_isViewportScrollElement(element, doc)) {\n doc.body.scrollLeft = doc.documentElement.scrollLeft = newLeft;\n } else {\n element.scrollLeft = newLeft;\n }\n }\n};\nmodule.exports = Scroll;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar warning = require(\"fbjs/lib/warning\");\n/**\n * Given a collapsed selection, move the focus `maxDistance` backward within\n * the selected block. If the selection will go beyond the start of the block,\n * move focus to the end of the previous block, but no further.\n *\n * This function is not Unicode-aware, so surrogate pairs will be treated\n * as having length 2.\n */\n\n\nfunction moveSelectionBackward(editorState, maxDistance) {\n var selection = editorState.getSelection(); // Should eventually make this an invariant\n\n process.env.NODE_ENV !== \"production\" ? warning(selection.isCollapsed(), 'moveSelectionBackward should only be called with a collapsed SelectionState') : void 0;\n var content = editorState.getCurrentContent();\n var key = selection.getStartKey();\n var offset = selection.getStartOffset();\n var focusKey = key;\n var focusOffset = 0;\n\n if (maxDistance > offset) {\n var keyBefore = content.getKeyBefore(key);\n\n if (keyBefore == null) {\n focusKey = key;\n } else {\n focusKey = keyBefore;\n var blockBefore = content.getBlockForKey(keyBefore);\n focusOffset = blockBefore.getText().length;\n }\n } else {\n focusOffset = offset - maxDistance;\n }\n\n return selection.merge({\n focusKey: focusKey,\n focusOffset: focusOffset,\n isBackward: true\n });\n}\n\nmodule.exports = moveSelectionBackward;","/**\n * Copyright (c) 2014-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 emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\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\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * \n * @emails oncall+draft_js\n */\n'use strict';\n\nvar UserAgent = require(\"fbjs/lib/UserAgent\");\n\nvar isSoftNewlineEvent = require(\"./isSoftNewlineEvent\");\n\nvar isOSX = UserAgent.isPlatform('Mac OS X');\nvar KeyBindingUtil = {\n /**\n * Check whether the ctrlKey modifier is *not* being used in conjunction with\n * the altKey modifier. If they are combined, the result is an `altGraph`\n * key modifier, which should not be handled by this set of key bindings.\n */\n isCtrlKeyCommand: function isCtrlKeyCommand(e) {\n return !!e.ctrlKey && !e.altKey;\n },\n isOptionKeyCommand: function isOptionKeyCommand(e) {\n return isOSX && e.altKey;\n },\n usesMacOSHeuristics: function usesMacOSHeuristics() {\n return isOSX;\n },\n hasCommandModifier: function hasCommandModifier(e) {\n return isOSX ? !!e.metaKey && !e.altKey : KeyBindingUtil.isCtrlKeyCommand(e);\n },\n isSoftNewlineEvent: isSoftNewlineEvent\n};\nmodule.exports = KeyBindingUtil;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = processNodes;\n\nvar _isEmptyTextNode = require('./utils/isEmptyTextNode');\n\nvar _isEmptyTextNode2 = _interopRequireDefault(_isEmptyTextNode);\n\nvar _convertNodeToElement = require('./convertNodeToElement');\n\nvar _convertNodeToElement2 = _interopRequireDefault(_convertNodeToElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Processes the nodes generated by htmlparser2 and convert them all into React elements\n *\n * @param {Object[]} nodes List of nodes to process\n * @param {Function} transform Transform function to optionally apply to nodes\n * @returns {React.Element[]} The list of processed React elements\n */\nfunction processNodes(nodes, transform) {\n\n return nodes.filter(function (node) {\n return !(0, _isEmptyTextNode2.default)(node);\n }).map(function (node, index) {\n\n // return the result of the transform function if applicable\n var transformed = void 0;\n if (typeof transform === 'function') {\n transformed = transform(node, index);\n if (transformed === null || !!transformed) {\n return transformed;\n }\n }\n\n // otherwise convert the node as standard\n return (0, _convertNodeToElement2.default)(node, index, transform);\n });\n}","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Item = exports.Hide = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.SelectBox = void 0;\nvar select_box_1 = require(\"devextreme/ui/select_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar SelectBox = /** @class */ (function (_super) {\n __extends(SelectBox, _super);\n function SelectBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = select_box_1.default;\n _this.useDeferUpdateFlag = true;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCopy\", \"onCustomItemCreating\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onItemClick\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(SelectBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return SelectBox;\n}(component_1.Component));\nexports.SelectBox = SelectBox;\nSelectBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n dataSource: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.string\n ]),\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayValue: PropTypes.string,\n dropDownOptions: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minSearchLength: PropTypes.number,\n name: PropTypes.string,\n noDataText: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCustomItemCreating: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onItemClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ]),\n searchTimeout: PropTypes.number,\n showClearButton: PropTypes.bool,\n showDataBeforeSearch: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n showSelectionControls: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOf([\n \"always\",\n \"auto\"\n ]),\n validationStatus: PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ]),\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n Position.ExpectedChildren = {\n at: { optionName: \"at\", isCollectionItem: false },\n boundaryOffset: { optionName: \"boundaryOffset\", isCollectionItem: false },\n collision: { optionName: \"collision\", isCollectionItem: false },\n my: { optionName: \"my\", isCollectionItem: false },\n offset: { optionName: \"offset\", isCollectionItem: false }\n };\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = SelectBox;\n","/**\r\n * DevExtreme (esm/ui/load_panel.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar LOADPANEL_CLASS = \"dx-loadpanel\";\r\nvar LOADPANEL_WRAPPER_CLASS = \"dx-loadpanel-wrapper\";\r\nvar LOADPANEL_INDICATOR_CLASS = \"dx-loadpanel-indicator\";\r\nvar LOADPANEL_MESSAGE_CLASS = \"dx-loadpanel-message\";\r\nvar LOADPANEL_CONTENT_CLASS = \"dx-loadpanel-content\";\r\nvar LOADPANEL_CONTENT_WRAPPER_CLASS = \"dx-loadpanel-content-wrapper\";\r\nvar LOADPANEL_PANE_HIDDEN_CLASS = \"dx-loadpanel-pane-hidden\";\r\nvar LoadPanel = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: messageLocalization.format(\"Loading\"),\r\n width: 222,\r\n height: 90,\r\n animation: null,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true,\r\n delay: 0,\r\n templatesRenderAsynchronously: false,\r\n hideTopOverlayHandler: null,\r\n resizeEnabled: false,\r\n focusStateEnabled: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n shadingColor: \"transparent\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n message: \"\",\r\n width: 60,\r\n height: 60,\r\n maxHeight: 60,\r\n maxWidth: 60\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADPANEL_CLASS);\r\n this.$wrapper().addClass(LOADPANEL_WRAPPER_CLASS)\r\n },\r\n _renderContentImpl: function() {\r\n this.callBase();\r\n this.$content().addClass(LOADPANEL_CONTENT_CLASS);\r\n this._$loadPanelContentWrapper = $(\"
\").addClass(LOADPANEL_CONTENT_WRAPPER_CLASS);\r\n this._$loadPanelContentWrapper.appendTo(this.$content());\r\n this._togglePaneVisible();\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage()\r\n },\r\n _show: function() {\r\n var delay = this.option(\"delay\");\r\n if (!delay) {\r\n return this.callBase()\r\n }\r\n var deferred = new Deferred;\r\n var callBase = this.callBase.bind(this);\r\n this._clearShowTimeout();\r\n this._showTimeout = setTimeout((function() {\r\n callBase().done((function() {\r\n deferred.resolve()\r\n }))\r\n }), delay);\r\n return deferred.promise()\r\n },\r\n _hide: function() {\r\n this._clearShowTimeout();\r\n return this.callBase()\r\n },\r\n _clearShowTimeout: function() {\r\n clearTimeout(this._showTimeout)\r\n },\r\n _renderMessage: function() {\r\n if (!this._$loadPanelContentWrapper) {\r\n return\r\n }\r\n var message = this.option(\"message\");\r\n if (!message) {\r\n return\r\n }\r\n var $message = $(\"
\").addClass(LOADPANEL_MESSAGE_CLASS).text(message);\r\n this._$loadPanelContentWrapper.append($message)\r\n },\r\n _renderLoadIndicator: function() {\r\n if (!this._$loadPanelContentWrapper || !this.option(\"showIndicator\")) {\r\n return\r\n }\r\n if (!this._$indicator) {\r\n this._$indicator = $(\"
\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, LoadIndicator, {\r\n indicatorSrc: this.option(\"indicatorSrc\")\r\n })\r\n },\r\n _cleanPreviousContent: function() {\r\n this.$content().find(\".\" + LOADPANEL_MESSAGE_CLASS).remove();\r\n this.$content().find(\".\" + LOADPANEL_INDICATOR_CLASS).remove();\r\n delete this._$indicator\r\n },\r\n _togglePaneVisible: function() {\r\n this.$content().toggleClass(LOADPANEL_PANE_HIDDEN_CLASS, !this.option(\"showPane\"))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"delay\":\r\n break;\r\n case \"message\":\r\n case \"showIndicator\":\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage();\r\n break;\r\n case \"showPane\":\r\n this._togglePaneVisible();\r\n break;\r\n case \"indicatorSrc\":\r\n this._renderLoadIndicator();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearShowTimeout();\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxLoadPanel\", LoadPanel);\r\nexport default LoadPanel;\r\n","module.exports = require('./lib/axios');","/*!\n * devextreme-react\n * Version: 21.1.4\n * Build date: Mon Jun 21 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckBox = void 0;\nvar check_box_1 = require(\"devextreme/ui/check_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar CheckBox = /** @class */ (function (_super) {\n __extends(CheckBox, _super);\n function CheckBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = check_box_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(CheckBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return CheckBox;\n}(component_1.Component));\nexports.CheckBox = CheckBox;\nCheckBox.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOf([\n \"always\",\n \"auto\"\n ]),\n validationStatus: PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ]),\n value: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = CheckBox;\n","/**\r\n * DevExtreme (esm/ui/editor/ui.data_expression.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../core/utils/data\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject as isObjectType,\r\n isString,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataExpressionMixin = extend({}, DataHelperMixin, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore(this.option(\"items\")),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = compileGetter(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = compileGetter(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!isDefined(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail((function() {\r\n deferred.reject()\r\n }));\r\n return deferred.promise()\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return variableWrapper.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === typeof value) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && isDefined(value1) && isDefined(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = isObjectType;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = variableWrapper.unwrap;\r\n var valueKey1 = ensureDefined(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = ensureDefined(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return toComparable(value1, true) === toComparable(value2, true)\r\n },\r\n _initDynamicTemplates: noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = isString(valueExpr) && \"this\" !== valueExpr || isFunction(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nexport default DataExpressionMixin;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isWindow,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport DropDownEditor from \"./ui.drop_down_editor\";\r\nimport List from \"../list\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport devices from \"../../core/devices\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../core/templates/child_default_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SKIP_GESTURE_EVENT_CLASS = \"dx-skip-gesture-event\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar DropDownList = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return extend({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n onSelectionChanged: null,\r\n onItemClick: noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false,\r\n useItemTextAsTitle: false\r\n }))\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new dataQuery(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n each(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n eventsEngine.off($popupContent, \"mouseup\");\r\n eventsEngine.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this));\r\n var that = this;\r\n this._popup.on({\r\n shown: function() {\r\n that.$element().addClass(SKIP_GESTURE_EVENT_CLASS)\r\n },\r\n hidden: function() {\r\n that.$element().removeClass(SKIP_GESTURE_EVENT_CLASS)\r\n }\r\n })\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && $(customContainer);\r\n if ($container && $container.length && !isWindow($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n each($containerWithParents, function(i, parent) {\r\n if (parent === $(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = $(parent);\r\n return false\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach((function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }), this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = grep(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = $(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", ensureDefined(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if (inArray(normalizedSearchMode, SEARCH_MODES) < 0) {\r\n throw errors.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem();\r\n this._preventFiltering = true\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : $()\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _setAriaTargetForList: function() {\r\n this._list._getAriaTarget = this._getAriaTarget.bind(this)\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new Guid)._value;\r\n var $list = this._$list = $(\"
\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._list = this._createComponent($list, List, this._listConfig());\r\n this._refreshList();\r\n this._setAriaTargetForList();\r\n this._list.option(\"_listAttributes\", {\r\n role: \"combobox\"\r\n });\r\n this._renderPreventBlur(this._$list);\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlur: function($target) {\r\n var eventName = addNamespace(\"mousedown\", \"dxDropDownList\");\r\n eventsEngine.off($target, eventName);\r\n eventsEngine.on($target, eventName, function(e) {\r\n e.preventDefault()\r\n }.bind(this))\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria({\r\n controls: this._list && this._listId,\r\n owns: this._popup && this._popupContentId\r\n })\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"listbox\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === devices.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _revertPageOnEmptyLoad: true,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: () => false,\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._dimensionChanged();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var _this$_dataSource;\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return (null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.isLoaded()) && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return addNamespace(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return addNamespace(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n eventsEngine.on(this._input(), this._getSetFocusPolicyEvent(), this._setFocusPolicy.bind(this));\r\n if (this._shouldRenderSearchEvent()) {\r\n eventsEngine.on(this._input(), this._getSearchEvent(), this._searchHandler.bind(this))\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), this._getSearchEvent());\r\n eventsEngine.off(this._input(), this._getSetFocusPolicyEvent());\r\n this.callBase()\r\n },\r\n _searchHandler: function() {\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(this._searchDataSource.bind(this), searchTimeout)\r\n } else {\r\n this._searchDataSource()\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n this._filterDataSource(this._searchValue())\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataSource.searchOperation(this.option(\"searchMode\"));\r\n dataSource.searchValue(searchValue);\r\n dataSource.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n }\r\n },\r\n _clearFilter: function() {\r\n var dataSource = this._dataSource;\r\n dataSource && dataSource.searchValue() && dataSource.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataSource.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var resultItems = this._dataSource && this._dataSource.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._dimensionChanged()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase(arguments);\r\n this._popup && this._updatePopupDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n if (!this._dataSource) {\r\n return false\r\n }\r\n var currentPageIndex = this._dataSource.pageIndex();\r\n var needRepaint = isDefined(this._pageIndex) && currentPageIndex <= this._pageIndex;\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updatePopupDimensions: function() {\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = $(window).outerHeight();\r\n var containerHeight = $customBoundaryContainer ? Math.min($customBoundaryContainer.outerHeight(), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - $element.outerHeight());\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin, DataConverterMixin);\r\nregisterComponent(\"dxDropDownList\", DropDownList);\r\nexport default DropDownList;\r\n","/**\r\n * DevExtreme (esm/ui/select_box.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport errors from \"../core/errors\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nvar DISABLED_STATE_SELECTOR = \".dx-state-disabled\";\r\nvar SELECTBOX_CLASS = \"dx-selectbox\";\r\nvar SELECTBOX_POPUP_CLASS = \"dx-selectbox-popup\";\r\nvar SELECTBOX_CONTAINER_CLASS = \"dx-selectbox-container\";\r\nvar SELECTBOX_POPUP_WRAPPER_CLASS = \"dx-selectbox-popup-wrapper\";\r\nvar SelectBox = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var clearSelectBox = function(e) {\r\n var isEditable = this._isEditable();\r\n if (!isEditable) {\r\n if (this.option(\"showClearButton\")) {\r\n e.preventDefault();\r\n this.reset()\r\n }\r\n } else if (this._valueSubstituted()) {\r\n this._preventFiltering = true\r\n }\r\n this._savedTextRemoveEvent = e;\r\n this._preventSubstitution = true\r\n };\r\n var searchIfNeeded = function() {\r\n if (that.option(\"searchEnabled\") && that._valueSubstituted()) {\r\n that._searchHandler()\r\n }\r\n };\r\n return extend({}, parent, {\r\n tab: function() {\r\n if (this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")) {\r\n this._resetCaretPosition(true)\r\n }\r\n parent.tab && parent.tab.apply(this, arguments);\r\n this._cancelSearchIfNeed()\r\n },\r\n upArrow: function(e) {\r\n if (parent.upArrow && parent.upArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (parent.downArrow && parent.downArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n searchIfNeeded();\r\n parent.leftArrow && parent.leftArrow.apply(this, arguments)\r\n },\r\n rightArrow: function() {\r\n searchIfNeeded();\r\n parent.rightArrow && parent.rightArrow.apply(this, arguments)\r\n },\r\n home: function() {\r\n searchIfNeeded();\r\n parent.home && parent.home.apply(this, arguments)\r\n },\r\n end: function() {\r\n searchIfNeeded();\r\n parent.end && parent.end.apply(this, arguments)\r\n },\r\n escape: function() {\r\n var result = parent.escape && parent.escape.apply(this, arguments);\r\n this._cancelEditing();\r\n return null !== result && void 0 !== result ? result : true\r\n },\r\n enter: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var inputText = this._input().val().trim();\r\n var isCustomText = inputText && this._list && !this._list.option(\"focusedElement\");\r\n if (!inputText && isDefined(this.option(\"value\")) && this.option(\"allowClearing\")) {\r\n this._saveValueChangeEvent(e);\r\n this.option({\r\n selectedItem: null,\r\n value: null\r\n });\r\n this.close()\r\n } else {\r\n if (this.option(\"acceptCustomValue\")) {\r\n e.preventDefault();\r\n if (isCustomText) {\r\n if (isOpened) {\r\n this._toggleOpenState()\r\n }\r\n this._valueChangeEventHandler(e)\r\n }\r\n return isOpened\r\n }\r\n if (parent.enter && parent.enter.apply(this, arguments)) {\r\n return isOpened\r\n }\r\n }\r\n },\r\n space: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n var acceptCustomValue = this.option(\"acceptCustomValue\");\r\n if (!isOpened || isSearchEnabled || acceptCustomValue) {\r\n return\r\n }\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e);\r\n return true\r\n },\r\n backspace: clearSelectBox,\r\n del: clearSelectBox\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n fieldTemplate: null,\r\n valueChangeEvent: \"change\",\r\n acceptCustomValue: false,\r\n onCustomItemCreating: function(e) {\r\n if (!isDefined(e.customItem)) {\r\n e.customItem = e.text\r\n }\r\n },\r\n showSelectionControls: false,\r\n allowClearing: true,\r\n tooltipEnabled: false,\r\n openOnFieldClick: true,\r\n showDropDownButton: true,\r\n displayCustomValue: false,\r\n useInkRipple: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initCustomItemCreatingAction()\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(SELECTBOX_CLASS);\r\n this._renderTooltip();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.callBase();\r\n this._$container.addClass(SELECTBOX_CONTAINER_CLASS)\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._inkRipple || this._isEditable()) {\r\n return\r\n }\r\n var config = {\r\n element: this._inputWrapper(),\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._popup.$element().addClass(SELECTBOX_POPUP_CLASS);\r\n this._popup.$overlayContent().attr(\"tabindex\", -1)\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + SELECTBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _cancelEditing: function() {\r\n if (!this.option(\"searchEnabled\") && this._list) {\r\n this._focusListElement(null);\r\n this._updateField(this.option(\"selectedItem\"))\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (this.option(\"opened\")) {\r\n this._scrollToSelectedItem();\r\n this._focusSelectedElement()\r\n }\r\n },\r\n _focusSelectedElement: function() {\r\n var searchValue = this._searchValue();\r\n if (!searchValue) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var index = inArray(this.option(\"selectedItem\"), this.option(\"items\"));\r\n var focusedElement = index >= 0 && !this._isCustomItemSelected() ? $listItems.eq(index) : null;\r\n this._focusListElement(focusedElement)\r\n },\r\n _renderFocusedElement: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n var searchValue = this._searchValue();\r\n if (!searchValue || this.option(\"acceptCustomValue\")) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var focusedElement = $listItems.not(DISABLED_STATE_SELECTOR).eq(0);\r\n this._focusListElement(focusedElement)\r\n },\r\n _focusListElement: function(element) {\r\n this._preventInputValueRender = true;\r\n this._list.option(\"focusedElement\", getPublicElement(element));\r\n delete this._preventInputValueRender\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._list && this._list.scrollToItem(this._list.option(\"selectedItem\"))\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase();\r\n var isPaginate = this._dataSource && this._dataSource.paginate();\r\n if (isPaginate && this._needPopupRepaint()) {\r\n return\r\n }\r\n this._scrollToSelectedItem()\r\n },\r\n _renderValue: function() {\r\n this._renderInputValue();\r\n this._setSubmitValue();\r\n return (new Deferred).resolve()\r\n },\r\n _renderInputValue: function() {\r\n return this.callBase().always(function() {\r\n this._renderInputValueAsync()\r\n }.bind(this))\r\n },\r\n _renderInputValueAsync: function() {\r\n this._renderTooltip();\r\n this._renderInputValueImpl().always(function() {\r\n this._refreshSelected()\r\n }.bind(this))\r\n },\r\n _renderInputValueImpl: function() {\r\n this._renderField();\r\n return (new Deferred).resolve()\r\n },\r\n _setNextItem: function(step) {\r\n var item = this._calcNextItem(step);\r\n var value = this._valueGetter(item);\r\n this._setValue(value)\r\n },\r\n _setNextValue: function(e) {\r\n var dataSourceIsLoaded = this._dataSource.isLoaded() ? (new Deferred).resolve() : this._dataSource.load();\r\n dataSourceIsLoaded.done(function() {\r\n var selectedIndex = this._getSelectedIndex();\r\n var hasPages = this._dataSource.pageSize();\r\n var isLastPage = this._dataSource.isLastPage();\r\n var isLastItem = selectedIndex === this._items().length - 1;\r\n this._saveValueChangeEvent(e);\r\n var step = \"downArrow\" === normalizeKeyName(e) ? 1 : -1;\r\n if (hasPages && !isLastPage && isLastItem && step > 0) {\r\n if (!this._popup) {\r\n this._createPopup()\r\n }\r\n if (!this._dataSource.isLoading()) {\r\n this._list._loadNextPage().done(this._setNextItem.bind(this, step))\r\n }\r\n } else {\r\n this._setNextItem(step)\r\n }\r\n }.bind(this))\r\n },\r\n _setSelectedItem: function(item) {\r\n var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item;\r\n this.callBase(isUnknownItem ? null : item);\r\n if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) {\r\n this._setListOption(\"selectedItem\", this.option(\"selectedItem\"))\r\n }\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"acceptCustomValue\") || this.callBase()\r\n },\r\n _displayValue: function(item) {\r\n item = !isDefined(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig: function() {\r\n var result = extend(this.callBase(), {\r\n pageLoadMode: \"scrollBottom\",\r\n onSelectionChanged: this._getSelectionChangeHandler(),\r\n selectedItem: this.option(\"selectedItem\"),\r\n onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this)\r\n });\r\n if (this.option(\"showSelectionControls\")) {\r\n extend(result, {\r\n showSelectionControls: true,\r\n selectionByClick: true\r\n })\r\n }\r\n return result\r\n },\r\n _listFocusedItemChangeHandler: function(e) {\r\n if (this._preventInputValueRender) {\r\n return\r\n }\r\n var list = e.component;\r\n var focusedElement = $(list.option(\"focusedElement\"));\r\n var focusedItem = list._getItemData(focusedElement);\r\n this._updateField(focusedItem)\r\n },\r\n _updateField: function(item) {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (!(fieldTemplate && this.option(\"fieldTemplate\"))) {\r\n var text = this._displayGetter(item);\r\n this.option(\"text\", text);\r\n this._renderDisplayText(text);\r\n return\r\n }\r\n this._renderField()\r\n },\r\n _getSelectionChangeHandler: function() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _selectionChangeHandler: function(e) {\r\n each(e.addedItems || [], function(_, addedItem) {\r\n this._setValue(this._valueGetter(addedItem))\r\n }.bind(this))\r\n },\r\n _getActualSearchValue: function() {\r\n return this._dataSource.searchValue()\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n if (!isVisible && !this._shouldClearFilter()) {\r\n this._restoreInputText(true)\r\n }\r\n if (this._wasSearch() && isVisible) {\r\n this._wasSearch(false);\r\n var showDataImmediately = this.option(\"showDataBeforeSearch\") || 0 === this.option(\"minSearchLength\");\r\n if (showDataImmediately && this._dataSource) {\r\n if (this._searchTimer) {\r\n return\r\n }\r\n var searchValue = this._getActualSearchValue();\r\n searchValue && this._wasSearch(true);\r\n this._filterDataSource(searchValue || null)\r\n } else {\r\n this._setListOption(\"items\", [])\r\n }\r\n }\r\n if (isVisible) {\r\n this._scrollToSelectedItem()\r\n }\r\n this.callBase(isVisible)\r\n },\r\n _renderTooltip: function() {\r\n if (this.option(\"tooltipEnabled\")) {\r\n this.$element().attr(\"title\", this.option(\"displayValue\"))\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._dimensionChanged()\r\n },\r\n _isValueEqualInputText: function() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (null === initialSelectedItem) {\r\n return false\r\n }\r\n var value = this._displayGetter(initialSelectedItem);\r\n var displayValue = value ? String(value) : \"\";\r\n var inputText = this._searchValue();\r\n return displayValue === inputText\r\n },\r\n _popupHidingHandler: function() {\r\n if (this._isValueEqualInputText()) {\r\n this._cancelEditing()\r\n }\r\n this.callBase()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n if (this._shouldCancelSearch()) {\r\n this._wasSearch(false);\r\n this._searchCanceled();\r\n this._shouldCancelSearch(false)\r\n }\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._loadItemDeferred && this._loadItemDeferred.always(function() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (this.option(\"acceptCustomValue\")) {\r\n if (!saveEditingValue) {\r\n this._updateField(initialSelectedItem);\r\n this._clearFilter()\r\n }\r\n return\r\n }\r\n if (this.option(\"searchEnabled\")) {\r\n if (!this._searchValue() && this.option(\"allowClearing\")) {\r\n this._clearTextValue();\r\n return\r\n }\r\n }\r\n if (this._isValueEqualInputText()) {\r\n return\r\n }\r\n this._renderInputValue().always(function(selectedItem) {\r\n var newSelectedItem = ensureDefined(selectedItem, initialSelectedItem);\r\n this._setSelectedItem(newSelectedItem);\r\n this._updateField(newSelectedItem);\r\n this._clearFilter()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget);\r\n if (!isOverlayTarget) {\r\n this._restoreInputText();\r\n this._clearSearchTimer()\r\n }\r\n this._cancelSearchIfNeed(e)\r\n }\r\n e.target = this._input().get(0);\r\n this.callBase(e)\r\n },\r\n _cancelSearchIfNeed: function(e) {\r\n var {\r\n searchEnabled: searchEnabled\r\n } = this.option();\r\n var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget);\r\n var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget;\r\n if (shouldCancelSearch) {\r\n var _this$_popup;\r\n var isPopupVisible = null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup._hideAnimationProcessing;\r\n if (isPopupVisible) {\r\n this._shouldCancelSearch(true)\r\n } else {\r\n this._wasSearch(false);\r\n this._searchCanceled()\r\n }\r\n }\r\n },\r\n _shouldCancelSearch: function(value) {\r\n if (!arguments.length) {\r\n return this._shouldCancelSearchValue\r\n }\r\n this._shouldCancelSearchValue = value\r\n },\r\n _isOverlayNestedTarget: function(target) {\r\n return !!$(target).closest(\".\".concat(SELECTBOX_POPUP_WRAPPER_CLASS)).length\r\n },\r\n _clearTextValue: function() {\r\n if (this.option(\"selectedItem\")) {\r\n if (this._savedTextRemoveEvent) {\r\n this._saveValueChangeEvent(this._savedTextRemoveEvent)\r\n }\r\n this.option(\"value\", null)\r\n }\r\n delete this._savedTextRemoveEvent\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._needPassDataSourceToList() && this._wasSearch()\r\n },\r\n _isFocused: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n return this.callBase() && $(activeElement).closest(this._input()).length > 0\r\n },\r\n _renderValueChangeEvent: function() {\r\n if (this._isEditable()) {\r\n this.callBase()\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n var $listFocused = this._list && this.option(\"opened\") && $(this._list.option(\"focusedElement\"));\r\n if ($listFocused && $listFocused.length) {\r\n return this._list._getItemData($listFocused)\r\n }\r\n return this.option(\"selectedItem\")\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _shouldCloseOnItemClick: function() {\r\n return !(this.option(\"showSelectionControls\") && \"single\" !== this.option(\"selectionMode\"))\r\n },\r\n _listItemClickHandler: function(e) {\r\n var previousValue = this._getCurrentValue();\r\n this._focusListElement($(e.itemElement));\r\n this._saveValueChangeEvent(e.event);\r\n this._completeSelection(this._valueGetter(e.itemData));\r\n if (this._shouldCloseOnItemClick()) {\r\n this.option(\"opened\", false)\r\n }\r\n if (this.option(\"searchEnabled\") && previousValue === this._valueGetter(e.itemData)) {\r\n this._updateField(e.itemData)\r\n }\r\n if (this._shouldClearFilter()) {\r\n this._cancelSearchIfNeed()\r\n }\r\n },\r\n _shouldClearFilter: function() {\r\n return this._wasSearch()\r\n },\r\n _completeSelection: function(value) {\r\n this._setValue(value)\r\n },\r\n _loadItem: function(value, cache) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this.callBase(value, cache).done(function(item) {\r\n deferred.resolve(item)\r\n }.bind(this)).fail(function() {\r\n var selectedItem = that.option(\"selectedItem\");\r\n if (that.option(\"acceptCustomValue\") && value === that._valueGetter(selectedItem)) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n deferred.reject()\r\n }\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _loadInputValue: function(value, callback) {\r\n this._loadItemDeferred = this._loadItem(value).always(callback);\r\n return this._loadItemDeferred\r\n },\r\n _isCustomItemSelected: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var searchValue = this._searchValue();\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n return !selectedItemText || searchValue !== selectedItemText.toString()\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (this.option(\"acceptCustomValue\") && this._isCustomItemSelected() && !this._isValueChanging) {\r\n this._isValueChanging = true;\r\n this._customItemAddedHandler(e);\r\n this._isValueChanging = false\r\n }\r\n },\r\n _initCustomItemCreatingAction: function() {\r\n this._customItemCreatingAction = this._createActionByOption(\"onCustomItemCreating\")\r\n },\r\n _createCustomItem: function(text) {\r\n var params = {\r\n text: text\r\n };\r\n var actionResult = this._customItemCreatingAction(params);\r\n var item = ensureDefined(actionResult, params.customItem);\r\n if (isDefined(actionResult)) {\r\n errors.log(\"W0015\", \"onCustomItemCreating\", \"customItem\")\r\n }\r\n return item\r\n },\r\n _customItemAddedHandler: function(e) {\r\n var searchValue = this._searchValue();\r\n var item = this._createCustomItem(searchValue);\r\n this._saveValueChangeEvent(e);\r\n if (void 0 === item) {\r\n this._renderValue();\r\n throw errors.Error(\"E0121\")\r\n }\r\n if (isPromise(item)) {\r\n fromPromise(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null))\r\n } else {\r\n this._setCustomItem(item)\r\n }\r\n },\r\n _setCustomItem: function(item) {\r\n if (this._disposed) {\r\n return\r\n }\r\n item = item || null;\r\n this.option(\"selectedItem\", item);\r\n this._cancelSearchIfNeed();\r\n this._setValue(this._valueGetter(item));\r\n this._renderDisplayText(this._displayGetter(item))\r\n },\r\n _clearValueHandler: function(e) {\r\n this.callBase(e);\r\n return false\r\n },\r\n _wasSearch: function(value) {\r\n if (!arguments.length) {\r\n return this._wasSearchValue\r\n }\r\n this._wasSearchValue = value\r\n },\r\n _searchHandler: function(e) {\r\n if (this._preventFiltering) {\r\n delete this._preventFiltering;\r\n return\r\n }\r\n if (this._needPassDataSourceToList()) {\r\n this._wasSearch(true)\r\n }\r\n this.callBase(e)\r\n },\r\n _dataSourceFiltered: function(searchValue) {\r\n this.callBase();\r\n if (null !== searchValue) {\r\n this._renderInputSubstitution();\r\n this._renderFocusedElement()\r\n }\r\n },\r\n _valueSubstituted: function() {\r\n var input = this._input().get(0);\r\n var isAllSelected = 0 === input.selectionStart && input.selectionEnd === this._searchValue().length;\r\n var inputHasSelection = input.selectionStart !== input.selectionEnd;\r\n return this._wasSearch() && inputHasSelection && !isAllSelected\r\n },\r\n _shouldSubstitutionBeRendered: function() {\r\n return !this._preventSubstitution && this.option(\"searchEnabled\") && !this.option(\"acceptCustomValue\") && \"startswith\" === this.option(\"searchMode\")\r\n },\r\n _renderInputSubstitution: function() {\r\n if (!this._shouldSubstitutionBeRendered()) {\r\n delete this._preventSubstitution;\r\n return\r\n }\r\n var item = this._list && this._getPlainItems(this._list.option(\"items\"))[0];\r\n if (!item) {\r\n return\r\n }\r\n var $input = this._input();\r\n var valueLength = $input.val().length;\r\n if (0 === valueLength) {\r\n return\r\n }\r\n var inputElement = $input.get(0);\r\n var displayValue = this._displayGetter(item).toString();\r\n inputElement.value = displayValue;\r\n this._caret({\r\n start: valueLength,\r\n end: displayValue.length\r\n })\r\n },\r\n _dispose: function() {\r\n this._renderInputValueAsync = noop;\r\n delete this._loadItemDeferred;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onCustomItemCreating\":\r\n this._initCustomItemCreatingAction();\r\n break;\r\n case \"tooltipEnabled\":\r\n this._renderTooltip();\r\n break;\r\n case \"displayCustomValue\":\r\n case \"acceptCustomValue\":\r\n case \"showSelectionControls\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"allowClearing\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxSelectBox\", SelectBox);\r\nexport default SelectBox;\r\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 21.1.4\r\n * Build date: Mon Jun 21 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport core from \"./localization/core\";\r\nimport message from \"./localization/message\";\r\nimport number from \"./localization/number\";\r\nimport date from \"./localization/date\";\r\nimport \"./localization/currency\";\r\nexport var locale = core.locale.bind(core);\r\nexport var loadMessages = message.load.bind(message);\r\nexport var formatMessage = message.format.bind(message);\r\nexport var formatNumber = number.format.bind(number);\r\nexport var parseNumber = number.parse.bind(number);\r\nexport var formatDate = date.format.bind(date);\r\nexport var parseDate = date.parse.bind(date);\r\nexport {\r\n message,\r\n number,\r\n date\r\n};\r\nexport function disableIntl() {\r\n if (\"intl\" === number.engine()) {\r\n number.resetInjection()\r\n }\r\n if (\"intl\" === date.engine()) {\r\n date.resetInjection()\r\n }\r\n}\r\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a