{"version":3,"sources":["webpack://antd/webpack/universalModuleDefinition","webpack://antd/webpack/bootstrap","webpack://antd/./components sync ^\\.\\/[^_][\\w-]+\\/style\\/index\\.js","webpack://antd/./components/_util/BaseMixin.js","webpack://antd/./components/_util/ContainerRender.jsx","webpack://antd/./components/_util/Dom/addEventListener.js","webpack://antd/./components/_util/Dom/contains.js","webpack://antd/./components/_util/FormDecoratorDirective.js","webpack://antd/./components/_util/KeyCode.js","webpack://antd/./components/_util/antInputDirective.js","webpack://antd/./components/_util/createChainedFunction.js","webpack://antd/./components/_util/css-animation/Event.js","webpack://antd/./components/_util/css-animation/index.js","webpack://antd/./components/_util/env.js","webpack://antd/./components/_util/getRequestAnimationFrame.js","webpack://antd/./components/_util/getScroll.js","webpack://antd/./components/_util/getScrollBarSize.js","webpack://antd/./components/_util/getTransitionProps.js","webpack://antd/./components/_util/interopDefault.js","webpack://antd/./components/_util/isFlexSupported.js","webpack://antd/./components/_util/isNumeric.js","webpack://antd/./components/_util/openAnimation.js","webpack://antd/./components/_util/props-util.js","webpack://antd/./components/_util/proxyComponent.jsx","webpack://antd/./components/_util/raf.js","webpack://antd/./components/_util/requestAnimationTimeout.js","webpack://antd/./components/_util/store/PropTypes.js","webpack://antd/./components/_util/store/Provider.jsx","webpack://antd/./components/_util/store/connect.jsx","webpack://antd/./components/_util/store/create.js","webpack://antd/./components/_util/store/index.js","webpack://antd/./components/_util/throttleByAnimationFrame.js","webpack://antd/./components/_util/triggerEvent.js","webpack://antd/./components/_util/vnode.js","webpack://antd/./components/_util/vue-types/index.js","webpack://antd/./components/_util/vue-types/utils.js","webpack://antd/./components/_util/warning.js","webpack://antd/./components/_util/wave.jsx","webpack://antd/./components/affix/index.jsx","webpack://antd/./components/affix/style/index.js","webpack://antd/./components/affix/style/index.less?47bf","webpack://antd/./components/alert/index.jsx","webpack://antd/./components/alert/style/index.js","webpack://antd/./components/alert/style/index.less?1614","webpack://antd/./components/anchor/Anchor.jsx","webpack://antd/./components/anchor/AnchorLink.jsx","webpack://antd/./components/anchor/index.jsx","webpack://antd/./components/anchor/style/index.js","webpack://antd/./components/anchor/style/index.less?1698","webpack://antd/./components/auto-complete/InputElement.jsx","webpack://antd/./components/auto-complete/index.jsx","webpack://antd/./components/auto-complete/style/index.js","webpack://antd/./components/auto-complete/style/index.less?451e","webpack://antd/./components/avatar/Avatar.jsx","webpack://antd/./components/avatar/index.js","webpack://antd/./components/avatar/style/index.js","webpack://antd/./components/avatar/style/index.less?955c","webpack://antd/./components/back-top/index.jsx","webpack://antd/./components/back-top/style/index.js","webpack://antd/./components/back-top/style/index.less?b9c0","webpack://antd/./components/badge/Badge.jsx","webpack://antd/./components/badge/ScrollNumber.jsx","webpack://antd/./components/badge/index.js","webpack://antd/./components/badge/style/index.js","webpack://antd/./components/badge/style/index.less?134e","webpack://antd/./components/breadcrumb/Breadcrumb.jsx","webpack://antd/./components/breadcrumb/BreadcrumbItem.jsx","webpack://antd/./components/breadcrumb/index.js","webpack://antd/./components/breadcrumb/style/index.js","webpack://antd/./components/breadcrumb/style/index.less?558c","webpack://antd/./components/button/button-group.jsx","webpack://antd/./components/button/button.jsx","webpack://antd/./components/button/buttonTypes.js","webpack://antd/./components/button/index.js","webpack://antd/./components/button/style/index.js","webpack://antd/./components/button/style/index.less?b621","webpack://antd/./components/calendar/Constants.js","webpack://antd/./components/calendar/Header.jsx","webpack://antd/./components/calendar/index.jsx","webpack://antd/./components/calendar/locale/en_US.js","webpack://antd/./components/calendar/style/index.js","webpack://antd/./components/calendar/style/index.less?8c67","webpack://antd/./components/card/Card.jsx","webpack://antd/./components/card/Grid.jsx","webpack://antd/./components/card/Meta.jsx","webpack://antd/./components/card/index.js","webpack://antd/./components/card/style/index.js","webpack://antd/./components/card/style/index.less?2e14","webpack://antd/./components/carousel/index.jsx","webpack://antd/./components/carousel/style/index.js","webpack://antd/./components/carousel/style/index.less?9b9e","webpack://antd/./components/cascader/index.jsx","webpack://antd/./components/cascader/style/index.js","webpack://antd/./components/cascader/style/index.less?edda","webpack://antd/./components/checkbox/Checkbox.jsx","webpack://antd/./components/checkbox/Group.jsx","webpack://antd/./components/checkbox/index.js","webpack://antd/./components/checkbox/style/index.js","webpack://antd/./components/checkbox/style/index.less?e9de","webpack://antd/./components/col/index.js","webpack://antd/./components/col/style/index.js","webpack://antd/./components/collapse/Collapse.jsx","webpack://antd/./components/collapse/CollapsePanel.jsx","webpack://antd/./components/collapse/index.js","webpack://antd/./components/collapse/style/index.js","webpack://antd/./components/collapse/style/index.less?424b","webpack://antd/./components/comment/index.jsx","webpack://antd/./components/comment/style/index.js","webpack://antd/./components/comment/style/index.less?421d","webpack://antd/./components/config-provider/index.jsx","webpack://antd/./components/config-provider/style/index.js","webpack://antd/./components/config-provider/style/index.less?c819","webpack://antd/./components/date-picker/RangePicker.jsx","webpack://antd/./components/date-picker/WeekPicker.jsx","webpack://antd/./components/date-picker/createPicker.js","webpack://antd/./components/date-picker/index.js","webpack://antd/./components/date-picker/interface.js","webpack://antd/./components/date-picker/locale/en_US.js","webpack://antd/./components/date-picker/style/index.js","webpack://antd/./components/date-picker/style/index.less?5cf5","webpack://antd/./components/date-picker/wrapPicker.js","webpack://antd/./components/divider/index.jsx","webpack://antd/./components/divider/style/index.js","webpack://antd/./components/divider/style/index.less?94b5","webpack://antd/./components/drawer/index.jsx","webpack://antd/./components/drawer/style/index.js","webpack://antd/./components/drawer/style/index.less?cdd3","webpack://antd/./components/dropdown/dropdown-button.jsx","webpack://antd/./components/dropdown/dropdown.jsx","webpack://antd/./components/dropdown/getDropdownProps.js","webpack://antd/./components/dropdown/index.js","webpack://antd/./components/dropdown/style/index.js","webpack://antd/./components/dropdown/style/index.less?d3f9","webpack://antd/./components/form/Form.jsx","webpack://antd/./components/form/FormItem.jsx","webpack://antd/./components/form/constants.jsx","webpack://antd/./components/form/index.jsx","webpack://antd/./components/form/style/index.js","webpack://antd/./components/form/style/index.less?6f00","webpack://antd/./components/grid/Col.jsx","webpack://antd/./components/grid/Row.jsx","webpack://antd/./components/grid/index.js","webpack://antd/./components/grid/style/index.js","webpack://antd/./components/grid/style/index.less?98d4","webpack://antd/./components/icon/IconFont.jsx","webpack://antd/./components/icon/index.js","webpack://antd/./components/icon/style/index.js","webpack://antd/./components/icon/style/index.less?4452","webpack://antd/./components/icon/twoTonePrimaryColor.js","webpack://antd/./components/icon/utils.js","webpack://antd/./components/index.js","webpack://antd/./components/input-number/index.jsx","webpack://antd/./components/input-number/style/index.js","webpack://antd/./components/input-number/style/index.less?c6b0","webpack://antd/./components/input/Group.jsx","webpack://antd/./components/input/Input.jsx","webpack://antd/./components/input/Search.jsx","webpack://antd/./components/input/TextArea.jsx","webpack://antd/./components/input/calculateNodeHeight.js","webpack://antd/./components/input/index.js","webpack://antd/./components/input/inputProps.js","webpack://antd/./components/input/style/index.js","webpack://antd/./components/input/style/index.less?c4d2","webpack://antd/./components/layout/Sider.jsx","webpack://antd/./components/layout/index.js","webpack://antd/./components/layout/layout.jsx","webpack://antd/./components/layout/style/index.js","webpack://antd/./components/layout/style/index.less?2dc3","webpack://antd/./components/list/Item.jsx","webpack://antd/./components/list/index.jsx","webpack://antd/./components/list/style/index.js","webpack://antd/./components/list/style/index.less?0565","webpack://antd/./components/locale-provider/LocaleReceiver.jsx","webpack://antd/./components/locale-provider/default.js","webpack://antd/./components/locale-provider/index.jsx","webpack://antd/./components/locale-provider/style/index.js","webpack://antd/./components/locale-provider/style/index.less?07be","webpack://antd/./components/menu/MenuItem.jsx","webpack://antd/./components/menu/index.jsx","webpack://antd/./components/menu/style/index.js","webpack://antd/./components/menu/style/index.less?9993","webpack://antd/./components/message/index.js","webpack://antd/./components/message/style/index.js","webpack://antd/./components/message/style/index.less?6840","webpack://antd/./components/modal/ActionButton.jsx","webpack://antd/./components/modal/ConfirmDialog.jsx","webpack://antd/./components/modal/Modal.jsx","webpack://antd/./components/modal/confirm.js","webpack://antd/./components/modal/index.js","webpack://antd/./components/modal/locale.js","webpack://antd/./components/modal/style/index.js","webpack://antd/./components/modal/style/index.less?bcf8","webpack://antd/./components/notification/index.js","webpack://antd/./components/notification/style/index.js","webpack://antd/./components/notification/style/index.less?abfa","webpack://antd/./components/pagination/MiniSelect.jsx","webpack://antd/./components/pagination/Pagination.jsx","webpack://antd/./components/pagination/index.js","webpack://antd/./components/pagination/style/index.js","webpack://antd/./components/pagination/style/index.less?466b","webpack://antd/./components/popconfirm/index.jsx","webpack://antd/./components/popconfirm/style/index.js","webpack://antd/./components/popover/index.jsx","webpack://antd/./components/popover/style/index.js","webpack://antd/./components/popover/style/index.less?d291","webpack://antd/./components/progress/index.jsx","webpack://antd/./components/progress/progress.jsx","webpack://antd/./components/progress/style/index.js","webpack://antd/./components/progress/style/index.less?7636","webpack://antd/./components/radio/Group.jsx","webpack://antd/./components/radio/Radio.jsx","webpack://antd/./components/radio/RadioButton.jsx","webpack://antd/./components/radio/index.js","webpack://antd/./components/radio/style/index.js","webpack://antd/./components/radio/style/index.less?0937","webpack://antd/./components/rate/index.jsx","webpack://antd/./components/rate/style/index.js","webpack://antd/./components/rate/style/index.less?74be","webpack://antd/./components/row/index.js","webpack://antd/./components/row/style/index.js","webpack://antd/./components/select/index.jsx","webpack://antd/./components/select/style/index.js","webpack://antd/./components/select/style/index.less?5aaa","webpack://antd/./components/skeleton/Avatar.jsx","webpack://antd/./components/skeleton/Paragraph.jsx","webpack://antd/./components/skeleton/Title.jsx","webpack://antd/./components/skeleton/index.jsx","webpack://antd/./components/skeleton/style/index.js","webpack://antd/./components/skeleton/style/index.less?38a0","webpack://antd/./components/slider/index.jsx","webpack://antd/./components/slider/style/index.js","webpack://antd/./components/slider/style/index.less?9793","webpack://antd/./components/spin/Spin.jsx","webpack://antd/./components/spin/index.js","webpack://antd/./components/spin/style/index.js","webpack://antd/./components/spin/style/index.less?03b6","webpack://antd/./components/steps/index.jsx","webpack://antd/./components/steps/style/index.js","webpack://antd/./components/steps/style/index.less?dc26","webpack://antd/./components/style/index.less?ecd6","webpack://antd/./components/switch/index.jsx","webpack://antd/./components/switch/style/index.js","webpack://antd/./components/switch/style/index.less?d759","webpack://antd/./components/table/Column.jsx","webpack://antd/./components/table/ColumnGroup.jsx","webpack://antd/./components/table/FilterDropdownMenuWrapper.jsx","webpack://antd/./components/table/SelectionBox.jsx","webpack://antd/./components/table/SelectionCheckboxAll.jsx","webpack://antd/./components/table/Table.jsx","webpack://antd/./components/table/createBodyRow.jsx","webpack://antd/./components/table/createStore.jsx","webpack://antd/./components/table/filterDropdown.jsx","webpack://antd/./components/table/index.jsx","webpack://antd/./components/table/interface.js","webpack://antd/./components/table/style/index.js","webpack://antd/./components/table/style/index.less?4da5","webpack://antd/./components/table/util.js","webpack://antd/./components/tabs/TabBar.jsx","webpack://antd/./components/tabs/index.js","webpack://antd/./components/tabs/style/index.js","webpack://antd/./components/tabs/style/index.less?24d2","webpack://antd/./components/tabs/tabs.jsx","webpack://antd/./components/tag/CheckableTag.jsx","webpack://antd/./components/tag/Tag.jsx","webpack://antd/./components/tag/index.js","webpack://antd/./components/tag/style/index.js","webpack://antd/./components/tag/style/index.less?ff6e","webpack://antd/./components/time-picker/index.jsx","webpack://antd/./components/time-picker/locale/en_US.js","webpack://antd/./components/time-picker/style/index.js","webpack://antd/./components/time-picker/style/index.less?8d9a","webpack://antd/./components/timeline/Timeline.jsx","webpack://antd/./components/timeline/TimelineItem.jsx","webpack://antd/./components/timeline/index.jsx","webpack://antd/./components/timeline/style/index.js","webpack://antd/./components/timeline/style/index.less?1e91","webpack://antd/./components/tooltip/Tooltip.jsx","webpack://antd/./components/tooltip/abstractTooltipProps.js","webpack://antd/./components/tooltip/index.js","webpack://antd/./components/tooltip/placements.js","webpack://antd/./components/tooltip/style/index.js","webpack://antd/./components/tooltip/style/index.less?dc94","webpack://antd/./components/transfer/index.jsx","webpack://antd/./components/transfer/item.jsx","webpack://antd/./components/transfer/list.jsx","webpack://antd/./components/transfer/operation.jsx","webpack://antd/./components/transfer/search.jsx","webpack://antd/./components/transfer/style/index.js","webpack://antd/./components/transfer/style/index.less?4b0d","webpack://antd/./components/tree-select/index.jsx","webpack://antd/./components/tree-select/interface.jsx","webpack://antd/./components/tree-select/style/index.js","webpack://antd/./components/tree-select/style/index.less?210d","webpack://antd/./components/tree/DirectoryTree.jsx","webpack://antd/./components/tree/Tree.jsx","webpack://antd/./components/tree/index.jsx","webpack://antd/./components/tree/style/index.js","webpack://antd/./components/tree/style/index.less?0d61","webpack://antd/./components/tree/util.js","webpack://antd/./components/upload/Dragger.jsx","webpack://antd/./components/upload/Upload.jsx","webpack://antd/./components/upload/UploadList.jsx","webpack://antd/./components/upload/index.jsx","webpack://antd/./components/upload/interface.jsx","webpack://antd/./components/upload/style/index.js","webpack://antd/./components/upload/style/index.less?e1fc","webpack://antd/./components/upload/utils.jsx","webpack://antd/./components/vc-align/Align.jsx","webpack://antd/./components/vc-align/index.js","webpack://antd/./components/vc-align/util.js","webpack://antd/./components/vc-calendar/index.js","webpack://antd/./components/vc-calendar/src/Calendar.jsx","webpack://antd/./components/vc-calendar/src/FullCalendar.jsx","webpack://antd/./components/vc-calendar/src/MonthCalendar.jsx","webpack://antd/./components/vc-calendar/src/Picker.jsx","webpack://antd/./components/vc-calendar/src/RangeCalendar.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarFooter.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/calendar/OkButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/TimePickerButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/TodayButton.jsx","webpack://antd/./components/vc-calendar/src/date/DateConstants.js","webpack://antd/./components/vc-calendar/src/date/DateInput.jsx","webpack://antd/./components/vc-calendar/src/date/DateTBody.jsx","webpack://antd/./components/vc-calendar/src/date/DateTHead.jsx","webpack://antd/./components/vc-calendar/src/date/DateTable.jsx","webpack://antd/./components/vc-calendar/src/decade/DecadePanel.jsx","webpack://antd/./components/vc-calendar/src/full-calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/index.js","webpack://antd/./components/vc-calendar/src/locale/en_US.js","webpack://antd/./components/vc-calendar/src/mixin/CalendarMixin.js","webpack://antd/./components/vc-calendar/src/mixin/CommonMixin.js","webpack://antd/./components/vc-calendar/src/month/MonthPanel.jsx","webpack://antd/./components/vc-calendar/src/month/MonthTable.jsx","webpack://antd/./components/vc-calendar/src/picker/placements.js","webpack://antd/./components/vc-calendar/src/range-calendar/CalendarPart.jsx","webpack://antd/./components/vc-calendar/src/util/index.js","webpack://antd/./components/vc-calendar/src/util/toTime.js","webpack://antd/./components/vc-calendar/src/year/YearPanel.jsx","webpack://antd/./components/vc-cascader/Cascader.jsx","webpack://antd/./components/vc-cascader/Menus.jsx","webpack://antd/./components/vc-cascader/index.js","webpack://antd/./components/vc-checkbox/index.js","webpack://antd/./components/vc-checkbox/src/Checkbox.jsx","webpack://antd/./components/vc-checkbox/src/index.js","webpack://antd/./components/vc-collapse/index.js","webpack://antd/./components/vc-collapse/src/Collapse.jsx","webpack://antd/./components/vc-collapse/src/Panel.jsx","webpack://antd/./components/vc-collapse/src/PanelContent.jsx","webpack://antd/./components/vc-collapse/src/commonProps.js","webpack://antd/./components/vc-collapse/src/openAnimationFactory.js","webpack://antd/./components/vc-dialog/Dialog.jsx","webpack://antd/./components/vc-dialog/DialogWrap.jsx","webpack://antd/./components/vc-dialog/IDialogPropTypes.js","webpack://antd/./components/vc-dialog/LazyRenderBox.jsx","webpack://antd/./components/vc-dialog/index.js","webpack://antd/./components/vc-drawer/src/Drawer.js","webpack://antd/./components/vc-drawer/src/drawerProps.js","webpack://antd/./components/vc-drawer/src/index.js","webpack://antd/./components/vc-drawer/src/utils.js","webpack://antd/./components/vc-dropdown/src/Dropdown.jsx","webpack://antd/./components/vc-dropdown/src/index.js","webpack://antd/./components/vc-dropdown/src/placements.js","webpack://antd/./components/vc-form/src/createBaseForm.jsx","webpack://antd/./components/vc-form/src/createDOMForm.jsx","webpack://antd/./components/vc-form/src/createFieldsStore.jsx","webpack://antd/./components/vc-form/src/createForm.jsx","webpack://antd/./components/vc-form/src/createFormField.jsx","webpack://antd/./components/vc-form/src/utils.js","webpack://antd/./components/vc-input-number/src/InputHandler.js","webpack://antd/./components/vc-input-number/src/index.js","webpack://antd/./components/vc-lazy-load/index.js","webpack://antd/./components/vc-lazy-load/src/LazyLoad.jsx","webpack://antd/./components/vc-lazy-load/src/utils/getElementPosition.js","webpack://antd/./components/vc-lazy-load/src/utils/inViewport.js","webpack://antd/./components/vc-lazy-load/src/utils/parentScroll.js","webpack://antd/./components/vc-m-feedback/index.js","webpack://antd/./components/vc-m-feedback/src/PropTypes.jsx","webpack://antd/./components/vc-m-feedback/src/TouchFeedback.jsx","webpack://antd/./components/vc-menu/DOMWrap.jsx","webpack://antd/./components/vc-menu/Divider.jsx","webpack://antd/./components/vc-menu/Menu.jsx","webpack://antd/./components/vc-menu/MenuItem.jsx","webpack://antd/./components/vc-menu/MenuItemGroup.jsx","webpack://antd/./components/vc-menu/SubMenu.jsx","webpack://antd/./components/vc-menu/SubPopupMenu.jsx","webpack://antd/./components/vc-menu/commonPropsType.js","webpack://antd/./components/vc-menu/index.js","webpack://antd/./components/vc-menu/placements.js","webpack://antd/./components/vc-menu/util.js","webpack://antd/./components/vc-notification/Notice.jsx","webpack://antd/./components/vc-notification/Notification.jsx","webpack://antd/./components/vc-notification/index.js","webpack://antd/./components/vc-pagination/KeyCode.js","webpack://antd/./components/vc-pagination/Options.jsx","webpack://antd/./components/vc-pagination/Pager.jsx","webpack://antd/./components/vc-pagination/Pagination.jsx","webpack://antd/./components/vc-pagination/index.js","webpack://antd/./components/vc-pagination/locale/en_US.js","webpack://antd/./components/vc-pagination/locale/zh_CN.js","webpack://antd/./components/vc-progress/index.js","webpack://antd/./components/vc-progress/src/Circle.js","webpack://antd/./components/vc-progress/src/Line.js","webpack://antd/./components/vc-progress/src/enhancer.js","webpack://antd/./components/vc-progress/src/index.js","webpack://antd/./components/vc-progress/src/types.js","webpack://antd/./components/vc-rate/index.js","webpack://antd/./components/vc-rate/src/Rate.jsx","webpack://antd/./components/vc-rate/src/Star.jsx","webpack://antd/./components/vc-rate/src/index.js","webpack://antd/./components/vc-rate/src/util.js","webpack://antd/./components/vc-select/DropdownMenu.jsx","webpack://antd/./components/vc-select/OptGroup.jsx","webpack://antd/./components/vc-select/Option.jsx","webpack://antd/./components/vc-select/PropTypes.js","webpack://antd/./components/vc-select/Select.jsx","webpack://antd/./components/vc-select/SelectTrigger.jsx","webpack://antd/./components/vc-select/index.js","webpack://antd/./components/vc-select/util.js","webpack://antd/./components/vc-slick/src/arrows.js","webpack://antd/./components/vc-slick/src/default-props.js","webpack://antd/./components/vc-slick/src/dots.js","webpack://antd/./components/vc-slick/src/index.js","webpack://antd/./components/vc-slick/src/initial-state.js","webpack://antd/./components/vc-slick/src/inner-slider.js","webpack://antd/./components/vc-slick/src/slider.js","webpack://antd/./components/vc-slick/src/track.js","webpack://antd/./components/vc-slick/src/utils/innerSliderUtils.js","webpack://antd/./components/vc-slider/src/Handle.jsx","webpack://antd/./components/vc-slider/src/Range.jsx","webpack://antd/./components/vc-slider/src/Slider.jsx","webpack://antd/./components/vc-slider/src/common/Marks.jsx","webpack://antd/./components/vc-slider/src/common/Steps.jsx","webpack://antd/./components/vc-slider/src/common/Track.jsx","webpack://antd/./components/vc-slider/src/common/createSlider.jsx","webpack://antd/./components/vc-slider/src/utils.js","webpack://antd/./components/vc-steps/Step.jsx","webpack://antd/./components/vc-steps/Steps.jsx","webpack://antd/./components/vc-steps/index.js","webpack://antd/./components/vc-switch/PropTypes.js","webpack://antd/./components/vc-switch/Switch.jsx","webpack://antd/./components/vc-switch/index.js","webpack://antd/./components/vc-table/index.js","webpack://antd/./components/vc-table/src/BaseTable.jsx","webpack://antd/./components/vc-table/src/BodyTable.jsx","webpack://antd/./components/vc-table/src/ColGroup.jsx","webpack://antd/./components/vc-table/src/Column.jsx","webpack://antd/./components/vc-table/src/ColumnGroup.jsx","webpack://antd/./components/vc-table/src/ColumnManager.jsx","webpack://antd/./components/vc-table/src/ExpandIcon.jsx","webpack://antd/./components/vc-table/src/ExpandableRow.jsx","webpack://antd/./components/vc-table/src/ExpandableTable.jsx","webpack://antd/./components/vc-table/src/HeadTable.jsx","webpack://antd/./components/vc-table/src/Table.jsx","webpack://antd/./components/vc-table/src/TableCell.jsx","webpack://antd/./components/vc-table/src/TableHeader.jsx","webpack://antd/./components/vc-table/src/TableHeaderRow.jsx","webpack://antd/./components/vc-table/src/TableRow.jsx","webpack://antd/./components/vc-table/src/utils.js","webpack://antd/./components/vc-tabs/src/InkTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/KeyCode.js","webpack://antd/./components/vc-tabs/src/SaveRef.jsx","webpack://antd/./components/vc-tabs/src/ScrollableInkTabBar.jsx","webpack://antd/./components/vc-tabs/src/ScrollableTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/Sentinel.jsx","webpack://antd/./components/vc-tabs/src/TabBarRootNode.jsx","webpack://antd/./components/vc-tabs/src/TabBarTabsNode.jsx","webpack://antd/./components/vc-tabs/src/TabContent.jsx","webpack://antd/./components/vc-tabs/src/TabPane.jsx","webpack://antd/./components/vc-tabs/src/Tabs.jsx","webpack://antd/./components/vc-tabs/src/index.js","webpack://antd/./components/vc-tabs/src/utils.js","webpack://antd/./components/vc-time-picker/Combobox.jsx","webpack://antd/./components/vc-time-picker/Header.jsx","webpack://antd/./components/vc-time-picker/Panel.jsx","webpack://antd/./components/vc-time-picker/Select.jsx","webpack://antd/./components/vc-time-picker/TimePicker.jsx","webpack://antd/./components/vc-time-picker/index.js","webpack://antd/./components/vc-time-picker/placements.js","webpack://antd/./components/vc-tooltip/Content.jsx","webpack://antd/./components/vc-tooltip/Tooltip.jsx","webpack://antd/./components/vc-tooltip/index.js","webpack://antd/./components/vc-tooltip/placements.js","webpack://antd/./components/vc-tree-select/index.js","webpack://antd/./components/vc-tree-select/src/Base/BasePopup.jsx","webpack://antd/./components/vc-tree-select/src/Base/BaseSelector.jsx","webpack://antd/./components/vc-tree-select/src/Popup/MultiplePopup.jsx","webpack://antd/./components/vc-tree-select/src/Popup/SinglePopup.jsx","webpack://antd/./components/vc-tree-select/src/SearchInput.jsx","webpack://antd/./components/vc-tree-select/src/Select.jsx","webpack://antd/./components/vc-tree-select/src/SelectNode.jsx","webpack://antd/./components/vc-tree-select/src/SelectTrigger.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/Selection.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/index.jsx","webpack://antd/./components/vc-tree-select/src/Selector/SingleSelector.jsx","webpack://antd/./components/vc-tree-select/src/index.js","webpack://antd/./components/vc-tree-select/src/strategies.js","webpack://antd/./components/vc-tree-select/src/util.js","webpack://antd/./components/vc-tree/index.js","webpack://antd/./components/vc-tree/src/Tree.jsx","webpack://antd/./components/vc-tree/src/TreeNode.jsx","webpack://antd/./components/vc-tree/src/index.js","webpack://antd/./components/vc-tree/src/util.js","webpack://antd/./components/vc-trigger/LazyRenderBox.jsx","webpack://antd/./components/vc-trigger/Popup.jsx","webpack://antd/./components/vc-trigger/PopupInner.jsx","webpack://antd/./components/vc-trigger/Trigger.jsx","webpack://antd/./components/vc-trigger/index.js","webpack://antd/./components/vc-trigger/utils.js","webpack://antd/./components/vc-upload/index.js","webpack://antd/./components/vc-upload/src/AjaxUploader.jsx","webpack://antd/./components/vc-upload/src/IframeUploader.jsx","webpack://antd/./components/vc-upload/src/Upload.jsx","webpack://antd/./components/vc-upload/src/attr-accept.js","webpack://antd/./components/vc-upload/src/index.js","webpack://antd/./components/vc-upload/src/request.js","webpack://antd/./components/vc-upload/src/traverseFileTree.js","webpack://antd/./components/vc-upload/src/uid.js","webpack://antd/./components/version/index.js","webpack://antd/./components/version/style/index.js","webpack://antd/./index.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/components/Icon.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/index.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/utils.js","webpack://antd/./node_modules/@ant-design/icons/lib/dist.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/index.js","webpack://antd/./node_modules/ant-design-palettes/lib/generate.js","webpack://antd/./node_modules/ant-design-palettes/lib/index.js","webpack://antd/./node_modules/array-tree-filter/lib/index.js","webpack://antd/./node_modules/async-validator/es/index.js","webpack://antd/./node_modules/async-validator/es/messages.js","webpack://antd/./node_modules/async-validator/es/rule/enum.js","webpack://antd/./node_modules/async-validator/es/rule/index.js","webpack://antd/./node_modules/async-validator/es/rule/pattern.js","webpack://antd/./node_modules/async-validator/es/rule/range.js","webpack://antd/./node_modules/async-validator/es/rule/required.js","webpack://antd/./node_modules/async-validator/es/rule/type.js","webpack://antd/./node_modules/async-validator/es/rule/whitespace.js","webpack://antd/./node_modules/async-validator/es/util.js","webpack://antd/./node_modules/async-validator/es/validator/array.js","webpack://antd/./node_modules/async-validator/es/validator/boolean.js","webpack://antd/./node_modules/async-validator/es/validator/date.js","webpack://antd/./node_modules/async-validator/es/validator/enum.js","webpack://antd/./node_modules/async-validator/es/validator/float.js","webpack://antd/./node_modules/async-validator/es/validator/index.js","webpack://antd/./node_modules/async-validator/es/validator/integer.js","webpack://antd/./node_modules/async-validator/es/validator/method.js","webpack://antd/./node_modules/async-validator/es/validator/number.js","webpack://antd/./node_modules/async-validator/es/validator/object.js","webpack://antd/./node_modules/async-validator/es/validator/pattern.js","webpack://antd/./node_modules/async-validator/es/validator/regexp.js","webpack://antd/./node_modules/async-validator/es/validator/required.js","webpack://antd/./node_modules/async-validator/es/validator/string.js","webpack://antd/./node_modules/async-validator/es/validator/type.js","webpack://antd/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://antd/./node_modules/babel-runtime/core-js/array/from.js","webpack://antd/./node_modules/babel-runtime/core-js/get-iterator.js","webpack://antd/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://antd/./node_modules/babel-runtime/core-js/json/stringify.js","webpack://antd/./node_modules/babel-runtime/core-js/object/assign.js","webpack://antd/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://antd/./node_modules/babel-runtime/core-js/object/keys.js","webpack://antd/./node_modules/babel-runtime/core-js/promise.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://antd/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://antd/./node_modules/babel-runtime/helpers/createClass.js","webpack://antd/./node_modules/babel-runtime/helpers/defineProperty.js","webpack://antd/./node_modules/babel-runtime/helpers/extends.js","webpack://antd/./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack://antd/./node_modules/babel-runtime/helpers/slicedToArray.js","webpack://antd/./node_modules/babel-runtime/helpers/toConsumableArray.js","webpack://antd/./node_modules/babel-runtime/helpers/typeof.js","webpack://antd/./node_modules/classnames/index.js","webpack://antd/./node_modules/component-classes/index.js","webpack://antd/./node_modules/component-indexof/index.js","webpack://antd/./node_modules/core-js/library/fn/array/from.js","webpack://antd/./node_modules/core-js/library/fn/get-iterator.js","webpack://antd/./node_modules/core-js/library/fn/is-iterable.js","webpack://antd/./node_modules/core-js/library/fn/json/stringify.js","webpack://antd/./node_modules/core-js/library/fn/object/assign.js","webpack://antd/./node_modules/core-js/library/fn/object/define-property.js","webpack://antd/./node_modules/core-js/library/fn/object/keys.js","webpack://antd/./node_modules/core-js/library/fn/promise.js","webpack://antd/./node_modules/core-js/library/fn/symbol/index.js","webpack://antd/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/modules/_a-function.js","webpack://antd/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://antd/./node_modules/core-js/library/modules/_an-instance.js","webpack://antd/./node_modules/core-js/library/modules/_an-object.js","webpack://antd/./node_modules/core-js/library/modules/_array-includes.js","webpack://antd/./node_modules/core-js/library/modules/_classof.js","webpack://antd/./node_modules/core-js/library/modules/_cof.js","webpack://antd/./node_modules/core-js/library/modules/_core.js","webpack://antd/./node_modules/core-js/library/modules/_create-property.js","webpack://antd/./node_modules/core-js/library/modules/_ctx.js","webpack://antd/./node_modules/core-js/library/modules/_defined.js","webpack://antd/./node_modules/core-js/library/modules/_descriptors.js","webpack://antd/./node_modules/core-js/library/modules/_dom-create.js","webpack://antd/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://antd/./node_modules/core-js/library/modules/_enum-keys.js","webpack://antd/./node_modules/core-js/library/modules/_export.js","webpack://antd/./node_modules/core-js/library/modules/_fails.js","webpack://antd/./node_modules/core-js/library/modules/_for-of.js","webpack://antd/./node_modules/core-js/library/modules/_global.js","webpack://antd/./node_modules/core-js/library/modules/_has.js","webpack://antd/./node_modules/core-js/library/modules/_hide.js","webpack://antd/./node_modules/core-js/library/modules/_html.js","webpack://antd/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://antd/./node_modules/core-js/library/modules/_invoke.js","webpack://antd/./node_modules/core-js/library/modules/_iobject.js","webpack://antd/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://antd/./node_modules/core-js/library/modules/_is-array.js","webpack://antd/./node_modules/core-js/library/modules/_is-object.js","webpack://antd/./node_modules/core-js/library/modules/_iter-call.js","webpack://antd/./node_modules/core-js/library/modules/_iter-create.js","webpack://antd/./node_modules/core-js/library/modules/_iter-define.js","webpack://antd/./node_modules/core-js/library/modules/_iter-detect.js","webpack://antd/./node_modules/core-js/library/modules/_iter-step.js","webpack://antd/./node_modules/core-js/library/modules/_iterators.js","webpack://antd/./node_modules/core-js/library/modules/_library.js","webpack://antd/./node_modules/core-js/library/modules/_meta.js","webpack://antd/./node_modules/core-js/library/modules/_microtask.js","webpack://antd/./node_modules/core-js/library/modules/_new-promise-capability.js","webpack://antd/./node_modules/core-js/library/modules/_object-assign.js","webpack://antd/./node_modules/core-js/library/modules/_object-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-dp.js","webpack://antd/./node_modules/core-js/library/modules/_object-dps.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopd.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn.js","webpack://antd/./node_modules/core-js/library/modules/_object-gops.js","webpack://antd/./node_modules/core-js/library/modules/_object-gpo.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys.js","webpack://antd/./node_modules/core-js/library/modules/_object-pie.js","webpack://antd/./node_modules/core-js/library/modules/_object-sap.js","webpack://antd/./node_modules/core-js/library/modules/_perform.js","webpack://antd/./node_modules/core-js/library/modules/_promise-resolve.js","webpack://antd/./node_modules/core-js/library/modules/_property-desc.js","webpack://antd/./node_modules/core-js/library/modules/_redefine-all.js","webpack://antd/./node_modules/core-js/library/modules/_redefine.js","webpack://antd/./node_modules/core-js/library/modules/_set-species.js","webpack://antd/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://antd/./node_modules/core-js/library/modules/_shared-key.js","webpack://antd/./node_modules/core-js/library/modules/_shared.js","webpack://antd/./node_modules/core-js/library/modules/_species-constructor.js","webpack://antd/./node_modules/core-js/library/modules/_string-at.js","webpack://antd/./node_modules/core-js/library/modules/_task.js","webpack://antd/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://antd/./node_modules/core-js/library/modules/_to-integer.js","webpack://antd/./node_modules/core-js/library/modules/_to-iobject.js","webpack://antd/./node_modules/core-js/library/modules/_to-length.js","webpack://antd/./node_modules/core-js/library/modules/_to-object.js","webpack://antd/./node_modules/core-js/library/modules/_to-primitive.js","webpack://antd/./node_modules/core-js/library/modules/_uid.js","webpack://antd/./node_modules/core-js/library/modules/_user-agent.js","webpack://antd/./node_modules/core-js/library/modules/_wks-define.js","webpack://antd/./node_modules/core-js/library/modules/_wks-ext.js","webpack://antd/./node_modules/core-js/library/modules/_wks.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator.js","webpack://antd/./node_modules/core-js/library/modules/core.is-iterable.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.from.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.keys.js","webpack://antd/./node_modules/core-js/library/modules/es6.promise.js","webpack://antd/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://antd/./node_modules/core-js/library/modules/es6.symbol.js","webpack://antd/./node_modules/core-js/library/modules/es7.promise.finally.js","webpack://antd/./node_modules/core-js/library/modules/es7.promise.try.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://antd/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://antd/./node_modules/dom-align/es/adjustForViewport.js","webpack://antd/./node_modules/dom-align/es/align/align.js","webpack://antd/./node_modules/dom-align/es/align/alignElement.js","webpack://antd/./node_modules/dom-align/es/align/alignPoint.js","webpack://antd/./node_modules/dom-align/es/getAlignOffset.js","webpack://antd/./node_modules/dom-align/es/getElFuturePos.js","webpack://antd/./node_modules/dom-align/es/getOffsetParent.js","webpack://antd/./node_modules/dom-align/es/getRegion.js","webpack://antd/./node_modules/dom-align/es/getVisibleRectForElement.js","webpack://antd/./node_modules/dom-align/es/index.js","webpack://antd/./node_modules/dom-align/es/isAncestorFixed.js","webpack://antd/./node_modules/dom-align/es/propertyUtils.js","webpack://antd/./node_modules/dom-align/es/utils.js","webpack://antd/./node_modules/dom-closest/index.js","webpack://antd/./node_modules/dom-matches/index.js","webpack://antd/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://antd/./node_modules/dom-scroll-into-view/lib/index.js","webpack://antd/./node_modules/dom-scroll-into-view/lib/util.js","webpack://antd/./node_modules/enquire.js/src/MediaQuery.js","webpack://antd/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://antd/./node_modules/enquire.js/src/QueryHandler.js","webpack://antd/./node_modules/enquire.js/src/Util.js","webpack://antd/./node_modules/enquire.js/src/index.js","webpack://antd/./node_modules/intersperse/lib/intersperse.js","webpack://antd/./node_modules/is-negative-zero/index.js","webpack://antd/./node_modules/ismobilejs/dist/isMobile.min.js","webpack://antd/./node_modules/json2mq/index.js","webpack://antd/./node_modules/lodash/_DataView.js","webpack://antd/./node_modules/lodash/_Hash.js","webpack://antd/./node_modules/lodash/_ListCache.js","webpack://antd/./node_modules/lodash/_Map.js","webpack://antd/./node_modules/lodash/_MapCache.js","webpack://antd/./node_modules/lodash/_Promise.js","webpack://antd/./node_modules/lodash/_Set.js","webpack://antd/./node_modules/lodash/_SetCache.js","webpack://antd/./node_modules/lodash/_Stack.js","webpack://antd/./node_modules/lodash/_Symbol.js","webpack://antd/./node_modules/lodash/_Uint8Array.js","webpack://antd/./node_modules/lodash/_WeakMap.js","webpack://antd/./node_modules/lodash/_apply.js","webpack://antd/./node_modules/lodash/_arrayEach.js","webpack://antd/./node_modules/lodash/_arrayFilter.js","webpack://antd/./node_modules/lodash/_arrayIncludes.js","webpack://antd/./node_modules/lodash/_arrayIncludesWith.js","webpack://antd/./node_modules/lodash/_arrayLikeKeys.js","webpack://antd/./node_modules/lodash/_arrayMap.js","webpack://antd/./node_modules/lodash/_arrayPush.js","webpack://antd/./node_modules/lodash/_arraySome.js","webpack://antd/./node_modules/lodash/_assignMergeValue.js","webpack://antd/./node_modules/lodash/_assignValue.js","webpack://antd/./node_modules/lodash/_assocIndexOf.js","webpack://antd/./node_modules/lodash/_baseAssign.js","webpack://antd/./node_modules/lodash/_baseAssignIn.js","webpack://antd/./node_modules/lodash/_baseAssignValue.js","webpack://antd/./node_modules/lodash/_baseClone.js","webpack://antd/./node_modules/lodash/_baseCreate.js","webpack://antd/./node_modules/lodash/_baseFindIndex.js","webpack://antd/./node_modules/lodash/_baseFlatten.js","webpack://antd/./node_modules/lodash/_baseFor.js","webpack://antd/./node_modules/lodash/_baseGet.js","webpack://antd/./node_modules/lodash/_baseGetAllKeys.js","webpack://antd/./node_modules/lodash/_baseGetTag.js","webpack://antd/./node_modules/lodash/_baseHas.js","webpack://antd/./node_modules/lodash/_baseHasIn.js","webpack://antd/./node_modules/lodash/_baseIndexOf.js","webpack://antd/./node_modules/lodash/_baseIsArguments.js","webpack://antd/./node_modules/lodash/_baseIsEqual.js","webpack://antd/./node_modules/lodash/_baseIsEqualDeep.js","webpack://antd/./node_modules/lodash/_baseIsMap.js","webpack://antd/./node_modules/lodash/_baseIsMatch.js","webpack://antd/./node_modules/lodash/_baseIsNaN.js","webpack://antd/./node_modules/lodash/_baseIsNative.js","webpack://antd/./node_modules/lodash/_baseIsRegExp.js","webpack://antd/./node_modules/lodash/_baseIsSet.js","webpack://antd/./node_modules/lodash/_baseIsTypedArray.js","webpack://antd/./node_modules/lodash/_baseIteratee.js","webpack://antd/./node_modules/lodash/_baseKeys.js","webpack://antd/./node_modules/lodash/_baseKeysIn.js","webpack://antd/./node_modules/lodash/_baseMatches.js","webpack://antd/./node_modules/lodash/_baseMatchesProperty.js","webpack://antd/./node_modules/lodash/_baseMerge.js","webpack://antd/./node_modules/lodash/_baseMergeDeep.js","webpack://antd/./node_modules/lodash/_baseProperty.js","webpack://antd/./node_modules/lodash/_basePropertyDeep.js","webpack://antd/./node_modules/lodash/_baseRest.js","webpack://antd/./node_modules/lodash/_baseSet.js","webpack://antd/./node_modules/lodash/_baseSetToString.js","webpack://antd/./node_modules/lodash/_baseSlice.js","webpack://antd/./node_modules/lodash/_baseTimes.js","webpack://antd/./node_modules/lodash/_baseToString.js","webpack://antd/./node_modules/lodash/_baseUnary.js","webpack://antd/./node_modules/lodash/_baseUniq.js","webpack://antd/./node_modules/lodash/_baseUnset.js","webpack://antd/./node_modules/lodash/_cacheHas.js","webpack://antd/./node_modules/lodash/_castPath.js","webpack://antd/./node_modules/lodash/_cloneArrayBuffer.js","webpack://antd/./node_modules/lodash/_cloneBuffer.js","webpack://antd/./node_modules/lodash/_cloneDataView.js","webpack://antd/./node_modules/lodash/_cloneRegExp.js","webpack://antd/./node_modules/lodash/_cloneSymbol.js","webpack://antd/./node_modules/lodash/_cloneTypedArray.js","webpack://antd/./node_modules/lodash/_copyArray.js","webpack://antd/./node_modules/lodash/_copyObject.js","webpack://antd/./node_modules/lodash/_copySymbols.js","webpack://antd/./node_modules/lodash/_copySymbolsIn.js","webpack://antd/./node_modules/lodash/_coreJsData.js","webpack://antd/./node_modules/lodash/_createAssigner.js","webpack://antd/./node_modules/lodash/_createBaseFor.js","webpack://antd/./node_modules/lodash/_createFind.js","webpack://antd/./node_modules/lodash/_createSet.js","webpack://antd/./node_modules/lodash/_customOmitClone.js","webpack://antd/./node_modules/lodash/_defineProperty.js","webpack://antd/./node_modules/lodash/_equalArrays.js","webpack://antd/./node_modules/lodash/_equalByTag.js","webpack://antd/./node_modules/lodash/_equalObjects.js","webpack://antd/./node_modules/lodash/_flatRest.js","webpack://antd/./node_modules/lodash/_freeGlobal.js","webpack://antd/./node_modules/lodash/_getAllKeys.js","webpack://antd/./node_modules/lodash/_getAllKeysIn.js","webpack://antd/./node_modules/lodash/_getMapData.js","webpack://antd/./node_modules/lodash/_getMatchData.js","webpack://antd/./node_modules/lodash/_getNative.js","webpack://antd/./node_modules/lodash/_getPrototype.js","webpack://antd/./node_modules/lodash/_getRawTag.js","webpack://antd/./node_modules/lodash/_getSymbols.js","webpack://antd/./node_modules/lodash/_getSymbolsIn.js","webpack://antd/./node_modules/lodash/_getTag.js","webpack://antd/./node_modules/lodash/_getValue.js","webpack://antd/./node_modules/lodash/_hasPath.js","webpack://antd/./node_modules/lodash/_hashClear.js","webpack://antd/./node_modules/lodash/_hashDelete.js","webpack://antd/./node_modules/lodash/_hashGet.js","webpack://antd/./node_modules/lodash/_hashHas.js","webpack://antd/./node_modules/lodash/_hashSet.js","webpack://antd/./node_modules/lodash/_initCloneArray.js","webpack://antd/./node_modules/lodash/_initCloneByTag.js","webpack://antd/./node_modules/lodash/_initCloneObject.js","webpack://antd/./node_modules/lodash/_isFlattenable.js","webpack://antd/./node_modules/lodash/_isIndex.js","webpack://antd/./node_modules/lodash/_isIterateeCall.js","webpack://antd/./node_modules/lodash/_isKey.js","webpack://antd/./node_modules/lodash/_isKeyable.js","webpack://antd/./node_modules/lodash/_isMasked.js","webpack://antd/./node_modules/lodash/_isPrototype.js","webpack://antd/./node_modules/lodash/_isStrictComparable.js","webpack://antd/./node_modules/lodash/_listCacheClear.js","webpack://antd/./node_modules/lodash/_listCacheDelete.js","webpack://antd/./node_modules/lodash/_listCacheGet.js","webpack://antd/./node_modules/lodash/_listCacheHas.js","webpack://antd/./node_modules/lodash/_listCacheSet.js","webpack://antd/./node_modules/lodash/_mapCacheClear.js","webpack://antd/./node_modules/lodash/_mapCacheDelete.js","webpack://antd/./node_modules/lodash/_mapCacheGet.js","webpack://antd/./node_modules/lodash/_mapCacheHas.js","webpack://antd/./node_modules/lodash/_mapCacheSet.js","webpack://antd/./node_modules/lodash/_mapToArray.js","webpack://antd/./node_modules/lodash/_matchesStrictComparable.js","webpack://antd/./node_modules/lodash/_memoizeCapped.js","webpack://antd/./node_modules/lodash/_nativeCreate.js","webpack://antd/./node_modules/lodash/_nativeKeys.js","webpack://antd/./node_modules/lodash/_nativeKeysIn.js","webpack://antd/./node_modules/lodash/_nodeUtil.js","webpack://antd/./node_modules/lodash/_objectToString.js","webpack://antd/./node_modules/lodash/_overArg.js","webpack://antd/./node_modules/lodash/_overRest.js","webpack://antd/./node_modules/lodash/_parent.js","webpack://antd/./node_modules/lodash/_root.js","webpack://antd/./node_modules/lodash/_safeGet.js","webpack://antd/./node_modules/lodash/_setCacheAdd.js","webpack://antd/./node_modules/lodash/_setCacheHas.js","webpack://antd/./node_modules/lodash/_setToArray.js","webpack://antd/./node_modules/lodash/_setToString.js","webpack://antd/./node_modules/lodash/_shortOut.js","webpack://antd/./node_modules/lodash/_stackClear.js","webpack://antd/./node_modules/lodash/_stackDelete.js","webpack://antd/./node_modules/lodash/_stackGet.js","webpack://antd/./node_modules/lodash/_stackHas.js","webpack://antd/./node_modules/lodash/_stackSet.js","webpack://antd/./node_modules/lodash/_strictIndexOf.js","webpack://antd/./node_modules/lodash/_stringToPath.js","webpack://antd/./node_modules/lodash/_toKey.js","webpack://antd/./node_modules/lodash/_toSource.js","webpack://antd/./node_modules/lodash/cloneDeep.js","webpack://antd/./node_modules/lodash/constant.js","webpack://antd/./node_modules/lodash/debounce.js","webpack://antd/./node_modules/lodash/eq.js","webpack://antd/./node_modules/lodash/find.js","webpack://antd/./node_modules/lodash/findIndex.js","webpack://antd/./node_modules/lodash/flatten.js","webpack://antd/./node_modules/lodash/get.js","webpack://antd/./node_modules/lodash/has.js","webpack://antd/./node_modules/lodash/hasIn.js","webpack://antd/./node_modules/lodash/identity.js","webpack://antd/./node_modules/lodash/isArguments.js","webpack://antd/./node_modules/lodash/isArray.js","webpack://antd/./node_modules/lodash/isArrayLike.js","webpack://antd/./node_modules/lodash/isArrayLikeObject.js","webpack://antd/./node_modules/lodash/isBuffer.js","webpack://antd/./node_modules/lodash/isFunction.js","webpack://antd/./node_modules/lodash/isLength.js","webpack://antd/./node_modules/lodash/isMap.js","webpack://antd/./node_modules/lodash/isObject.js","webpack://antd/./node_modules/lodash/isObjectLike.js","webpack://antd/./node_modules/lodash/isPlainObject.js","webpack://antd/./node_modules/lodash/isRegExp.js","webpack://antd/./node_modules/lodash/isSet.js","webpack://antd/./node_modules/lodash/isSymbol.js","webpack://antd/./node_modules/lodash/isTypedArray.js","webpack://antd/./node_modules/lodash/keys.js","webpack://antd/./node_modules/lodash/keysIn.js","webpack://antd/./node_modules/lodash/last.js","webpack://antd/./node_modules/lodash/memoize.js","webpack://antd/./node_modules/lodash/merge.js","webpack://antd/./node_modules/lodash/noop.js","webpack://antd/./node_modules/lodash/now.js","webpack://antd/./node_modules/lodash/omit.js","webpack://antd/./node_modules/lodash/property.js","webpack://antd/./node_modules/lodash/set.js","webpack://antd/./node_modules/lodash/stubArray.js","webpack://antd/./node_modules/lodash/stubFalse.js","webpack://antd/./node_modules/lodash/throttle.js","webpack://antd/./node_modules/lodash/toFinite.js","webpack://antd/./node_modules/lodash/toInteger.js","webpack://antd/./node_modules/lodash/toNumber.js","webpack://antd/./node_modules/lodash/toPlainObject.js","webpack://antd/./node_modules/lodash/toString.js","webpack://antd/./node_modules/lodash/uniqBy.js","webpack://antd/./node_modules/mutationobserver-shim/dist/mutationobserver.min.js","webpack://antd/./node_modules/object-assign/index.js","webpack://antd/./node_modules/omit.js/es/index.js","webpack://antd/./node_modules/performance-now/lib/performance-now.js","webpack://antd/./node_modules/process/browser.js","webpack://antd/./node_modules/raf/index.js","webpack://antd/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://antd/./node_modules/setimmediate/setImmediate.js","webpack://antd/./node_modules/shallow-equal/arrays/index.js","webpack://antd/./node_modules/shallowequal/index.js","webpack://antd/./node_modules/string-convert/camel2hyphen.js","webpack://antd/./node_modules/timers-browserify/main.js","webpack://antd/./node_modules/tinycolor2/tinycolor.js","webpack://antd/./node_modules/vue-ref/index.js","webpack://antd/./node_modules/warning/browser.js","webpack://antd/(webpack)/buildin/global.js","webpack://antd/(webpack)/buildin/module.js","webpack://antd/external {\"root\":\"moment\",\"commonjs2\":\"moment\",\"commonjs\":\"moment\",\"amd\":\"moment\"}","webpack://antd/external {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}"],"names":["methods","setState","state","callback","newState","$data","$props","$nextTick","__emit","args","slice","call","arguments","filterEvent","eventName","length","$listeners","includes","$emit","props","autoMount","PropTypes","bool","def","autoDestroy","visible","forceRender","parent","any","getComponent","func","isRequired","getContainer","children","mounted","renderComponent","updated","beforeDestroy","removeContainer","container","_component","$destroy","parentNode","removeChild","ready","self","$refs","el","componentEl","document","createElement","appendChild","Vue","data","comProps","render","addEventListenerWrap","target","eventType","cb","option","addDOMEventListener","contains","root","n","node","antDecorator","directive","install","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","e","keyCode","altKey","ctrlKey","metaKey","isCharacterKey","window","navigation","userAgent","indexOf","inBrowser","UA","navigator","toLowerCase","isIE9","makeMap","str","expectsLowerCase","map","Object","create","list","split","i","val","isTextInputType","onCompositionStart","composing","onCompositionEnd","trigger","type","createEvent","initEvent","dispatchEvent","addEventListener","activeElement","vmodel","antInput","inserted","binding","vnode","tag","modifiers","lazy","createChainedFunction","chainedFunction","apply","START_EVENT_NAME_MAP","transitionstart","transition","WebkitTransition","MozTransition","OTransition","msTransition","animationstart","animation","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","transitionend","animationend","startEvents","endEvents","detectEvents","testEl","style","process","EVENT_NAME_MAP","events","baseEventName","hasOwnProperty","baseEvents","styleName","push","eventListener","removeEventListener","TransitionEvents","addStartEventListener","setTimeout","forEach","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","name","getComputedStyle","ret","getPropertyValue","fixBrowserByTimeout","transitionDelay","parseFloat","transitionDuration","animationDelay","animationDuration","time","Math","max","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","clearTimeout","cssAnimation","transitionName","endCallback","nameIsObj","className","activeClassName","active","end","start","nodeClasses","classes","prototype","toString","rcAnimTimeout","cancelAnimationTimeout","remove","add","requestAnimationTimeout","stop","s","setTransition","p","value","property","v","undefined","prefix","isIE","test","availablePrefixs","requestAnimationFramePolyfill","lastTime","currTime","Date","getTime","timeToCall","id","getRequestAnimationFrame","requestAnimationFrame","bind","filter","key","cancelRequestAnimationFrame","cancelAnimationFrame","getScroll","top","prop","method","isWindow","documentElement","cached","getScrollBarSize","fresh","inner","width","height","outer","outerStyle","position","left","pointerEvents","visibility","overflow","body","widthContained","offsetWidth","widthScroll","clientWidth","noop","getTransitionProps","opt","beforeEnter","enter","afterEnter","leave","afterLeave","appear","transitionProps","css","on","done","animate","interopDefault","m","isFlexSupported","isNumeric","isNaN","isFinite","show","requestAnimationFrameId","appearRequestAnimationFrameId","raf","cancel","offsetHeight","opacity","getType","fn","match","camelizeRE","camelize","replace","_","c","toUpperCase","parseStyleText","cssText","camel","res","listDelimiter","propertyDelimiter","item","tmp","k","trim","hasProp","instance","$options","propsData","slotHasProp","slot","componentOptions","filterProps","keys","getSlots","ele","$vnode","slots","isEmptyElement","child","getAllChildren","getSlotOptions","fnOptions","Ctor","options","getOptionProps","entries","getComponentFromProp","execute","$createElement","h","temp","$slots","$scopedSlots","context","getPropsData","slotsProp","getAllProps","attrs","getValueByProp","getAttrs","getKey","getEvents","listeners","getClass","tempCls","staticClass","cls","Array","isArray","classNames","getStyle","staticStyle","getComponentName","opts","text","filterEmpty","initDefaultProps","propTypes","defaultProps","Error","mergeProps","isPlainObject","isValidElement","element","getDisplayName","WrappedComponent","wrapWithConnect","tempProps","required","__propsSymbol__","array","ProxyWrappedComponent","model","getProxyWrappedInstance","wrappedInstance","$attrs","wrapProps","Symbol","componentWillReceiveProps","scopedSlots","slotsKey","ids","wrapperRaf","delayFrames","myId","restFrames","internalCallback","caf","frame","delay","now","timeout","storeShape","shape","subscribe","getState","store","provide","storeContext","defaultMapStateToProps","connect","mapStateToProps","shouldSubscribe","finnalMapStateToProps","omit","Connect","inject","preProps","subscribed","watch","trySubscribe","tryUnsubscribe","handleChange","unsubscribe","nextSubscribed","shallowEqual","getWrappedInstance","proxyComponent","initialState","partial","listener","index","splice","throttleByAnimationFrame","requestId","later","throttled","throttleByAnimationFrameDecorator","descriptor","definingProperty","configurable","get","boundFn","defineProperty","writable","triggerEvent","cloneVNode","deep","cloned","constructor","elm","asyncFactory","ns","isStatic","isComment","fnContext","fnScopeId","isCloned","cloneVNodes","vnodes","len","cloneElement","nodeProps","directives","ref","domProps","tempStyle","VuePropTypes","toType","Function","currentDefaults","Boolean","string","String","number","Number","object","integer","validator","isInteger","symbol","custom","validatorFn","warnMsg","TypeError","valid","warn","_vueTypes_name","oneOf","arr","msg","join","allowedTypes","reduce","instanceOf","instanceConstructor","oneOfType","hasCustomValidators","nativeChecks","concat","isFunction","typesStr","some","validateType","arrayOf","values","every","objectOf","obj","requiredKeys","valueKeys","req","_vueTypes_isLoose","enumerable","typeDefaults","set","ObjProto","hasOwn","FN_MATCH_REGEXP","getNativeType","has","floor","withDefault","withRequired","silent","typeToCheck","expectedType","namePrefix","hasConsole","console","warned","message","warning","styleForPesudo","isHidden","offsetParent","$el","nodeType","bindAnimationEvent","clickWaveTimeoutId","destroy","isNotGrey","color","onClick","waveColor","removeExtraStyleNode","insertExtraNode","extraNode","attributeName","getAttributeName","removeAttribute","setAttribute","borderColor","innerHTML","onTransitionStart","onTransitionEnd","getAttribute","tagName","resetEffect","animationStartId","animationStart","Element","animationName","getTargetRect","getBoundingClientRect","bottom","getOffset","elemRect","targetRect","scrollTop","scrollLeft","docElem","clientTop","clientLeft","getDefaultTarget","AffixProps","offsetTop","offset","offsetBottom","prefixCls","Affix","mixins","BaseMixin","eventHandlers","affixStyle","placeholderStyle","beforeMount","updatePosition","setTargetEventListeners","clearEventListeners","setAffixStyle","originalAffixStyle","shallowequal","affixed","setPlaceholderStyle","originalPlaceholderStyle","syncPlaceholderStyle","placeholderNode","targetNode","affixNode","elemOffset","elemSize","fixedNode","offsetMode","targetInnerHeight","innerHeight","clientHeight","targetBottomOffet","getTarget","handler","component","AlertProps","closable","closeText","description","afterClose","showIcon","iconType","banner","icon","Alert","closing","closed","handleClose","preventDefault","dom","animationEnd","iconTheme","alertCls","closeIcon","iconNode","getDefaultContainer","getOffsetTop","getClientRects","rect","ownerDocument","easeInOutCubic","t","b","d","cc","sharpMatcherRegx","scrollTo","href","sharpLinkMatch","exec","targetElement","getElementById","eleOffsetTop","targetScrollTop","startTime","frameFunc","timestamp","nextScrollTop","pageXOffset","AnchorProps","bounds","affix","showInkInFixed","wrapperClass","wrapperStyle","inheritAttrs","links","activeLink","antAnchor","registerLink","link","unregisterLink","handleScrollTo","antAnchorContext","scrollEvent","handleScroll","updateInk","animating","getCurrentAnchor","linkSections","maxSection","prev","curr","linkNode","getElementsByClassName","inkClass","anchorClass","fixed","maxHeight","anchorContent","AnchorLinkProps","title","oldVal","handleClick","wrapperClassName","titleClassName","Anchor","Link","AnchorLink","chaining","fns","disabled","focus","blur","newEvent","event","AutoCompleteProps","AbstractSelectProps","SelectValue","defaultValue","dataSource","optionLabelProp","dropdownMatchSelectWidth","AutoComplete","showSearch","choiceTransitionName","autoFocus","backfill","filterOption","defaultActiveFirstOption","Option","OptGroup","getInputElement","select","size","childArray","selectProps","mode","Select","SECRET_COMBOBOX_MODE_DO_NOT_USE","notFoundContent","src","srcSet","alt","loadError","isImgExist","scale","prevChildren","prevState","setScale","preChildren","childrenNode","avatarChildren","childrenWidth","avatarWidth","$forceUpdate","handleImgLoadError","errorFlag","sizeCls","classString","sizeStyle","lineHeight","fontSize","transformString","childrenStyle","msTransform","WebkitTransform","transform","sizeChildrenStyle","Avatar","BackTopProps","visibilityHeight","BackTop","getCurrentScrollTop","pageYOffset","scrollToTop","setScrollTop","defaultElement","divProps","click","backTopBtn","BadgeProps","count","showZero","overflowCount","dot","scrollNumberPrefixCls","status","numberStyle","getBadgeClassName","isZero","numberedDispayCount","getNumberedDispayCount","isDot","displayCount","getDispayCount","isEmpty","badgeCount","getScollNumberTitle","getStyleWithOffset","right","parseInt","marginTop","renderStatusText","hidden","renderDispayComponent","customNode","renderBadgeNumber","scrollNumberCls","scrollNumber","statusText","statusCls","getNumberArray","num","reverse","ScrollNumberProps","displayComponent","animateStarted","sCount","lastCount","getPositionByNum","currentDigit","lastDigit","renderNumberList","childrenToReturn","currentClassName","renderCurrentNumber","removeTransition","renderNumberElement","Tag","restProps","newProps","boxShadow","Badge","Route","path","breadcrumbName","loose","BreadcrumbProps","routes","params","separator","itemRender","getBreadcrumbName","route","paramsKeys","RegExp","replacement","defaultItemRender","paths","isLastItem","crumbs","__ANT_BREADCRUMB_ITEM","Breadcrumb","Item","BreadcrumbItem","ButtonGroupProps","sizeMap","large","small","computed","rxTwoCNChar","isTwoCNChar","buttonTypes","__ANT_BUTTON","sLoading","loading","hasTwoCNChar","ghost","block","delayTimeout","fixTwoCNChar","buttonNode","buttonText","textContent","innerText","isNeedInserted","insertSpace","needInserted","htmlType","buttonProps","kids","Button","Group","ButtonGroup","PREFIX_CLS","HeaderProps","locale","fullscreen","boolean","yearSelectOffset","yearSelectTotal","validRange","getYearSelectElement","year","suffix","getCalenderHeaderNode","onYearChange","getMonthsLocale","current","clone","localeData","months","month","monthsShort","getMonthSelectElement","rangeStart","rangeEnd","currentYear","onMonthChange","newValue","newYear","newMonth","onTypeChange","calenderHeaderNode","yearSelect","monthSelect","typeSwitch","zerofixed","MomentType","moment","isMomentArray","find","CalendarMode","CalendarProps","disabledDate","Calendar","isMoment","sValue","sMode","monthCellRender2","monthCellRender","dateCellRender2","dateCellRender","date","setValue","way","onPanelChange","setType","onHeaderValueChange","onHeaderTypeChange","onSelect","getDateRange","startDate","endDate","inRange","isBetween","renderCalendar","localeCode","dateFullCellRender","monthFullCellRender","fullCalendarProps","lang","showHeader","getDefaultLocale","result","enUS","en_US","TabPane","Tabs","extra","bordered","bodyStyle","headStyle","hoverable","actions","tabList","activeTabKey","defaultActiveTabKey","updateWiderPaddingCalled","widerPadding","updateWiderPadding","resizeEvent","cardContainerRef","WIDTH_BOUNDARY_PX","onHandleTabChange","isContainGrid","containGrid","__ANT_CARD_GRID","getAction","actionList","action","loadingBlockStyle","padding","loadingBlock","hasActiveTabKey","tabsProps","change","head","tabs","tab","titleDom","extraDom","cover","coverDom","actionDom","avatar","avatarDom","descriptionDom","MetaDetail","Card","Meta","Grid","matchMediaPolyfill","media","mediaQuery","matches","addListener","removeListener","matchMedia","SlickCarousel","require","CarouselEffect","CarouselProps","effect","dots","vertical","autoplay","easing","beforeChange","afterChange","accessibility","nextArrow","prevArrow","pauseOnHover","adaptiveHeight","arrows","autoplaySpeed","centerMode","centerPadding","cssEase","dotsClass","draggable","fade","focusOnSelect","infinite","initialSlide","lazyLoad","rtl","slide","slidesToShow","slidesToScroll","speed","swipe","swipeToSlide","touchMove","touchThreshold","variableWidth","useCSS","slickGoTo","Carousel","onWindowResized","debounce","leading","innerSlider","slick","autoPlay","next","slickNext","slickPrev","goTo","dontAnimate","SlickCarouselProps","CascaderOptionType","label","FieldNamesType","CascaderExpandTrigger","ShowSearchType","sort","matchInputWidth","limit","CascaderProps","displayRender","popupStyle","popupClassName","popupPlacement","placeholder","allowClear","loadData","expandTrigger","changeOnSelect","inputPrefixCls","getPopupContainer","popupVisible","fieldNames","suffixIcon","defaultLimit","defaultFilterOption","inputValue","names","defaultSortFilteredOption","a","elem","findIndex","getFilledFieldNames","flattenTree","ancestor","flattenOptions","childrenName","defaultDisplayRender","labels","Cascader","configProvider","cachedOptions","inputFocused","sPopupVisible","picker","highlightKeyword","keyword","defaultRenderFilteredOption","selectedOptions","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","handlePopupVisibleChange","handleInputFocus","handleInputBlur","handleInputClick","stopPropagation","nativeEvent","stopImmediatePropagation","handleKeyDown","handleInputChange","getLabel","arrayTreeFilter","o","level","childrenKeyName","clearSelection","generateFilteredOptions","showSearchRender","filtered","matchCount","input","getContextPopupContainer","otherProps","clearIcon","arrowCls","pickerCls","tempInputProps","dropdownMenuColumnStyle","isNotFound","resultListMatchInputWidth","inputProps","readOnly","autoComplete","keydown","inputIcon","expandIcon","loadingIcon","cascaderProps","popupVisibleChange","defaultChecked","checked","isGroup","indeterminate","checkboxGroupContext","targetChecked","vcCheckbox","checkboxGroup","mouseenter","mouseleave","restListeners","checkboxProps","toggleOption","checkboxClass","getOptions","optionIndex","groupPrefixCls","onChange","Checkbox","CheckboxGroup","Col","collapseProps","openAnimation","renderExpandIcon","collapseClassName","rcCollapeProps","panelProps","showArrow","collapsePanelClassName","rcCollapePanelProps","header","Collapse","Panel","CollapsePanel","CommentProps","PropsTypes","author","content","datetime","Comment","renderNested","authorContent","contentDom","comment","ConfigProvider","getShowDateFromValue","newEnd","isSame","formatValue","format","pickerValueAdapter","isEmptyArray","fixLocale","RangePickerProps","tagPrefixCls","showToday","pickerValue","defaultPickerValue","sShowDate","sOpen","open","sHoverValue","clearHoverValue","handleOpenChange","handleShowDateChange","showDate","handleHoverChange","hoverValue","handleRangeMouseLeave","handleCalendarInputSelect","handleRangeClick","hidePanel","showTime","onMouseEnter","onMouseLeave","renderFooter","ranges","renderExtraFooter","customFooter","operations","range","rangeNode","calendarChange","ok","panelChange","disabledTime","dateRender","calendarClassName","pickerChangeHandler","calendarProps","timePicker","changedValue","startPlaceholder","rangePlaceholder","endPlaceholder","rangeCalendarProps","dateInputPlaceholder","valueChange","hoverChange","inputSelect","calendar","pickerStyle","startValue","endValue","pickerInputClass","vcDatePickerProps","openChange","pickerClass","WeekPickerProps","_value","_open","weekDateRender","selectedValue","week","display","createPicker","TheCalendar","handleCalendarChange","monthCellContentRender","MonthCalendar","pickerProps","theCalendarProps","tabIndex","onOpenChange","DatePicker","wrapPicker","VcCalendar","DatePickerProps","MonthPicker","MonthPickerProps","RangePicker","WeekPicker","PickerProps","dropdownClassName","getCalendarContainer","SinglePickerProps","RangePickerValue","CalendarLocale","timePickerLocale","TimePickerLocale","getColumns","showHour","showMinute","showSecond","use12Hours","column","Picker","defaultFormat","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","renderPicker","timeFormat","vcTimePickerProps","generateShowHourMinuteSecond","columns","timePickerCls","timePickerPanelProps","Divider","dashed","orientation","orientationPrefix","Drawer","destroyOnClose","maskClosable","mask","maskStyle","wrapStyle","zIndex","placement","wrapClassName","handle","destoryClose","preVisible","_push","parentDrawer","pull","close","onMaskClick","onDestoryTransitionEnd","isDestroyOnClose","getDestoryOnClose","getPushTransform","renderBody","containerStyle","closer","getRcDrawerStyle","rest","haveMask","offsetStyle","vcDrawerProps","showMask","classnames","maskClick","ButtonTypesProps","DropdownProps","getDropdownProps","DropdownButtonProps","onVisibleChange","align","dropdownProps","visibleChange","Dropdown","mouseEnterDelay","mouseLeaveDelay","getTransitionName","dropdownTrigger","overlay","overlayProps","selectable","focusable","fixedModeOverlay","triggerActions","alignPoint","DropdownButton","overlayClassName","overlayStyle","FormCreateOption","onFieldsChange","onValuesChange","mapPropsToFields","validateMessages","withRef","WrappedFormUtils","getFieldsValue","getFieldValue","setFieldsValue","setFields","validateFields","validateFieldsAndScroll","getFieldError","getFieldsError","isFieldValidating","isFieldTouched","isFieldsTouched","resetFields","getFieldDecorator","FormProps","layout","form","hideRequiredMark","autoFormCreate","ValidationRule","whitespace","min","pattern","isRegExp","Form","FormItem","createFormField","createDOMForm","fieldNameProp","fieldMetaProp","FIELD_META_PROP","fieldDataProp","FIELD_DATA_PROP","createForm","templateContext","created","formItemContexts","Map","collectFormItemContext","beforeUpdate","cleanUpUselessFields","onSubmit","submit","formClassName","DomForm","decoratorFormProps","domForm","inst","FormItemProps","labelCol","ColProps","wrapperCol","help","validateStatus","hasFeedback","colon","fieldDecoratorId","fieldDecoratorOptions","comeFromSlot","itemVnode","isSlot","__ANT_FORM_ITEM","helpShow","collectContext","getControls","slotDefault","isSlotScope","$children","getHelpMessage","onlyControl","getOnlyControl","errors","getField","intersperse","childrenArray","recursively","controls","getChildAttr","getId","getMeta","onHelpAnimEnd","_key","renderHelp","renderExtra","getValidateStatus","field","validating","fieldValue","initialValue","renderValidateWrapper","c1","c2","c3","renderWrapper","colProps","meta","validate","rules","rule","onLabelClick","querySelectorAll","control","querySelector","renderLabel","labelColClass","labelColStyle","labelColId","labelColClassName","labelClassName","labelChildren","haveColon","renderChildren","renderFormItem","itemClassName","decoratorOption","decoratorChildren","use","FormDecoratorDirective","$form","stringOrNumber","ColSize","span","order","objectOrNumber","xs","sm","md","lg","xl","xxl","rowContext","sizeClassObj","sizeProps","gutter","getGutter","paddingLeft","paddingRight","enquire","BreakpointMap","RowProps","justify","responsiveArray","responsiveMap","screens","register","screen","unmatch","unregister","breakpoint","rowStyle","marginLeft","marginRight","customCache","Set","scriptUrl","script","Iconfont","functional","Icon","slotsMap","VueIcon","allIcons","setTwoToneColor","defaultTheme","dangerousTheme","viewBox","spin","theme","twoToneColor","Component","svgClassString","innerNode","innerSvgProps","svgBaseProps","computedType","themeInName","getThemeFromTypeName","withThemeSuffix","removeTypeTheme","alias","iProps","nativeOn","createFromIconfontCN","getTwoToneColor","primaryColor","setTwoToneColors","colors","getTwoToneColors","fill","fillTester","outlineTester","twoToneTester","ENV","components","Input","InputNumber","Layout","List","LocaleProvider","Menu","Modal","Pagination","Popconfirm","Popover","Progress","Radio","Rate","Row","Slider","Spin","Steps","Switch","Table","Transfer","Tree","TreeSelect","TimePicker","Timeline","Tooltip","Upload","Skeleton","$message","$notification","notification","$info","info","$success","success","$error","error","$warning","$confirm","confirm","version","InputNumberProps","step","formatter","parser","decimalSeparator","precision","inputNumberRef","others","inputNumberClass","upIcon","downIcon","vcInputNumberprops","upHandler","downHandler","compact","fixControlledValue","stateValue","getInputClassName","renderLabeledInput","addonAfter","addonBefore","addonClassName","groupClassName","renderLabeledIcon","affixWrapperCls","renderInput","textareaProps","enterButton","onSearch","getButtonOrIcon","enterButtonAsElement","extendOptions","buttonOrIcon","searchSuffix","inputClassName","search","pressEnter","onNextFrame","clearNextFrameAction","nextFrameId","autosize","nextFrameActionId","textareaStyles","resizeOnNextFrame","textArea","resizeTextarea","updateResizeObserverHook","resizeObserver","disconnect","ResizeObserver","observe","minRows","maxRows","calculateNodeHeight","getTextAreaClassName","handleTextareaChange","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","hiddenTextarea","calculateNodeStyling","useCache","nodeRef","boxSizing","paddingSize","borderSize","sizingStyle","nodeInfo","uiTextNode","minHeight","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","scrollHeight","overflowY","singleRowHeight","antInputDirective","Search","TextArea","spellCheck","dimensionMap","SiderProps","collapsible","collapsed","defaultCollapsed","reverseArrow","collapsedWidth","generateId","__ANT_LAYOUT_SIDER","uniqueId","mql","sCollapsed","below","belowShow","layoutSiderContext","siderHook","responsiveHandler","addSider","removeSider","setCollapsed","toggle","belowShowChange","rawWidth","siderWidth","zeroWidthTrigger","iconObj","expanded","defaultTrigger","triggerDom","divStyle","flex","maxWidth","minWidth","siderCls","Sider","Header","Footer","Content","BasicProps","hasSider","generator","BasicComponent","basicComponentProps","Basic","BasicLayout","siders","currentId","divCls","ListItemProps","grid","ListGridType","ListItemMetaProps","__ANT_LIST_ITEM_META","getGrid","listContext","metaContent","otherContent","contentClassString","actionsContent","actionsContentItem","extraContent","mainContent","ColumnCount","ColumnType","ListSize","ListProps","itemLayout","loadMore","pagination","PaginationConfig","rowKey","renderItem","footer","defaultPaginationProps","pageSize","page","paginationCurrent","total","renderItem2","isSomethingAfterLastItem","renderEmpty","contextLocale","emptyText","loadingProp","spinning","isLoading","paginationProps","largestPage","ceil","onShowSizeChange","paginationContent","showSizeChange","splitDataSource","childrenContent","items","childrenList","defaultLocale","paginationPosition","componentName","getLocale","defaultLocaleData","antLocale","localeFromContext","getLocaleCode","exist","global","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","sortTitle","okText","cancelText","justOkText","titles","searchPlaceholder","itemUnit","itemsUnit","uploading","removeFile","uploadError","previewFile","setMomentLocale","changeConfirmLocale","itemProps","getInlineCollapsed","isMenuItem","onKeyDown","menuItem","rootPrefixCls","inlineCollapsed","titleNode","toolTipProps","MenuMode","menuProps","commonPropsType","selectedKeys","defaultSelectedKeys","openKeys","defaultOpenKeys","openTransitionName","multiple","inlineIndent","isRootMenu","SubMenu","ItemGroup","propsUpdating","switchingModeFromInline","sOpenKeys","collapsedChange","leaveAnimationExecutedWhenInlineCollapsed","inlineOpenKeys","restoreModeVerticalFromInline","handleTransitionEnd","widthCollapsed","propertyName","currentTarget","iconScaled","handleSelect","handleDeselect","setOpenKeys","getRealMenuMode","getMenuOpenAnimation","menuMode","menuOpenAnimation","menuClassName","deselect","onMouseenter","defaultDuration","defaultTop","messageInstance","maxCount","getMessageInstance","Notification","newInstance","notice","duration","closePromise","Promise","onClose","resolve","removeNotice","then","filled","rejected","promise","api","config","ButtonType","ActionButtonProps","actionFn","closeModal","timeoutId","onCancel","onOk","keyboard","centered","okButtonProps","cancelButtonProps","okType","contentPrefixCls","okCancel","runtimeLocale","getConfirmLocale","autoFocusButton","cancelButton","triggerCancel","mousePosition","mousePositionEventBinded","modalProps","confirmLoading","maskTransitionName","x","pageX","y","pageY","handleCancel","handleOk","cancelBtnProps","okBtnProps","defaultFooter","dialogProps","div","currentConfig","confirmDialogInstance","confirmDialogProps","update","newConfig","param","cdProps","modalConfirm","newLocale","notificationInstance","defaultBottom","defaultPlacement","defaultGetContainer","setNotificationConfig","getPlacementStyle","getNotificationInstance","cacheKey","typeToIcon","btn","outerPrefixCls","SelectProps","VcSelect","selectOptionsProps","selelctProps","PaginationProps","defaultCurrent","defaultPageSize","hideOnSinglePage","showSizeChanger","pageSizeOptions","buildOptionText","showQuickJumper","showTotal","simple","selectPrefixCls","role","getIconsProps","prevIcon","nextIcon","jumpPrevIcon","jumpNextIcon","renderPagination","customLocale","isSmall","selectComponentClass","MiniSelect","mini","tooltipProps","abstractTooltipProps","btnProps","sVisible","defaultVisible","onConfirm","setVisible","getPopupDomNode","tooltip","renderOverlay","popconfirmLocale","addUnit","unit","unitType","statusColorMap","normal","exception","ProgressType","ProgressSize","ProgressProps","percent","successPercent","showInfo","strokeWidth","strokeLinecap","strokeColor","trailColor","gapDegree","gapPosition","validProgress","progress","progressStatus","progressInfo","textFormatter","percentNumber","percentStyle","background","borderRadius","successPercentStyle","successSegment","circleSize","circleStyle","circleWidth","gapPos","gapDeg","progressProps","buttonStyle","radioGroupContext","radioOptions","onRadioChange","ev","lastValue","radioGroup","radioProps","wrapperClassString","RateProps","allowHalf","character","refRate","rateProps","showAction","dropdownStyle","dropdownMenuStyle","defaultOpen","autoClearSearchValue","dropdownRender","Value","firstActiveValue","maxTagCount","maxTagPlaceholder","optionFilterProp","labelInValue","tokenSeparators","removeIcon","menuItemSelectedIcon","SelectPropTypes","vcSelect","getNotFoundContent","isCombobox","renderSuffixIcon","renderSelect","modeConfig","tags","combobox","finalRemoveIcon","finalClearIcon","finalMenuItemSelectedIcon","restOption","skeletonAvatarProps","SkeletonAvatarProps","shapeCls","widthUnit","skeletonParagraphProps","rows","SkeletonParagraphProps","Paragraph","getWidth","rowList","skeletonTitleProps","SkeletonTitleProps","Title","zWidth","SkeletonProps","paragraph","getComponentProps","getAvatarBasicProps","hasTitle","hasParagraph","getTitleBasicProps","hasAvatar","getParagraphBasicProps","basicProps","avatarNode","avatarProps","contentNode","$title","titleProps","paragraphNode","paragraphProps","SliderProps","tooltipPrefixCls","marks","included","tipFormatter","tooltipVisible","visibles","toggleTooltipVisible","handleWithTooltip","dragging","isTipFormatter","handleProps","sliderRef","vcRangeProps","vcSliderProps","SpinSize","SpinProps","tip","indicator","defaultIndicator","shouldDelay","setDefaultIndicator","debounceTimeout","sSpinning","delayUpdateSpinning","getChildren","renderIndicator","dotClassName","spinClassName","spinElement","containerClassName","getStepsProps","iconPrefix","initial","labelPlacement","direction","progressDot","Step","VcSteps","icons","finish","stepsProps","checkedChildren","unCheckedChildren","refSwitchNode","switchProps","ColumnProps","__ANT_TABLE_COLUMN_GROUP","handelClick","SelectionBoxProps","getCheckState","defaultSelection","rowIndex","selectionDirty","selectedRowKeys","SelectionCheckboxAllProps","defaultSelections","hideDefaultSelections","getIndeterminateState","setCheckState","checkSelection","byDefaultChecked","getCheckboxPropsByItem","getRecordKey","handleSelectAllChange","renderMenus","selections","selection","selectionPrefixCls","customSelections","newSelections","menu","getRowSelection","rowSelection","defaultPagination","emptyObject","Column","ColumnGroup","TableProps","useFixedHeader","indentSize","createComponents","CheckboxPropsCache","createStore","getDefaultSortOrder","sFilters","getFiltersFromColumns","sPagination","getDefaultPagination","pivot","newPagination","previousState","getCheckboxProps","getSortOrderColumns","sortState","getSortStateFromColumns","sSortColumn","sSortOrder","filteredValueColumns","getFilteredValueColumns","filtersFromColumns","newFilters","isFiltersChanged","preVal","getDefaultSelection","getFlatData","record","hasPagination","onRow","customRow","setSelectedRowKeys","selectionInfo","selectWay","changeRowKeys","selectedRows","row","onSelectMultiple","changeRows","onSelectAll","onSelectInvert","filters","filtersChanged","columnKey","flatFilter","filteredValue","colKey","getColumnKey","col","definedSortState","defaultSortedColumn","defaultSortOrder","sortColumn","sortedColumn","sortOrder","getSorterFn","sorter","isSameColumn","other","toggleSortOrder","newSortOrder","oldSortOrder","prepareParamsArguments","handleFilter","nextFilters","currentColumnKeys","treeMap","filtersToSetState","sSelectionDirty","getFlatCurrentPageData","childrenColumnName","realIndex","expandedRowRender","shiftKey","sign","dist","abs","j","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","changeableRowKeys","customSelectionStartIndex","handlePageChange","otherArguments","renderSelectionBox","selectionBoxProps","recordKey","renderRowSelection","selectionColumnClass","selectionColumn","customRender","columnWidth","columnTitle","checkboxAllDisabled","unshift","dataIndex","getMaxCurrent","isSortColumn","renderColumnsDropdown","dropdownPrefixCls","filterDropdown","sortButton","customHeaderCell","getColumnTitle","colFilters","isAscend","isDescend","onHeaderCellClick","sortTitleString","renderColumnTitle","handleShowSizeChange","nextPagination","getLocalData","currentDataSource","findColumn","myKey","getCurrentPageData","MAX_VALUE","flatArray","recursiveSort","sorterFn","currentState","onFilter","prevComponents","bodyRow","preBodyRow","createBodyRow","customComponents","renderTable","expandIconAsCell","newColumn","expandIconColumnIndex","vcTableProps","table","paginationPatchClass","spinProps","BodyRowProps","Store","createTableRow","BodyRow","selected","FilterMenuProps","filterDropdownVisible","sSelectedKeys","sKeyPathOfSelectedItem","_propsSymbol","nextProps","setNeverShown","getDropdownVisible","neverShown","rootNode","filterBelongToScrollBody","closest","setSelectedKeys","onFilterDropdownVisibleChange","handleClearFilters","handleConfirm","confirmFilter2","confirmFilter","renderMenuItem","filterMultiple","hasSubMenu","containSelected","subMenuCls","handleMenuItemClick","keyPath","keyPathOfSelectedItem","renderFilterIcon","filterIcon","dropdownIconClass","dropdownMenuClass","clearFilters","triggerNode","menus","normalize","elements","restSlots","updateColumns","cols","slotTitle","slotFooter","tProps","getPaginationProps","getSpinProps","ColumnFilterItem","customCell","colSpan","TableLocale","RowSelectionType","TableRowSelection","rowClassName","defaultExpandAllRows","defaultExpandedRowKeys","expandedRowKeys","expandRowByClick","customHeaderRow","scroll","loop","newItem","tree","mapper","acc","TabBar","tabBarStyle","animated","renderTabBar","tabBarExtraContent","tabPosition","inkBarAnimated","inkBar","isVertical","prevIconType","nextIconType","renderProps","RenderTabBar","ScrollableInkTabBar","__ANT_TAB_PANE","TabContent","activeKey","defaultActiveKey","hideAdd","destroyInactiveTabPane","tabBarGutter","NO_FLEX","tabNode","removeTab","targetKey","createNewTab","onTabClick","onPrevClick","onNextClick","tabPaneAnimated","tabPane","childrenWithClose","renderTabBarSlot","tabBarProps","contentCls","tabBarPosition","renderTabContent","_visible","defaultPrevented","handleIconClick","isPresetColor","getTagStyle","backgroundColor","getTagClassName","renderCloseIcon","CheckableTag","TimePickerProps","hideDisabledOptions","disabledHours","disabledMinutes","disabledSeconds","focusOnOpen","hourStep","minuteStep","secondStep","allowEmpty","inputReadOnly","clearText","defaultOpenValue","addon","handleOpenClose","getDefaultFormat","renderTimePicker","tempAddon","panel","clockIcon","timeProps","TimelineProps","pending","pendingDot","pendingNode","pendingItem","timeLineItems","truthyItems","itemsCount","lastCls","idx","timelineProps","TimeLineItemProps","liProps","TimelineItem","splitObject","picked","omitted","isNoTitle","getPlacements","builtinPlacements","arrowPointAtCenter","autoAdjustOverflow","verticalArrowShift","getDisabledCompatibleChildren","isAntBtn","spanStyle","cursor","spanCls","onPopupAlign","domNode","placements","points","transformOrigin","openClassName","childCls","getTooltipContainer","popupAlign","triggerType","ToolTip","autoAdjustOverflowEnabled","adjustX","adjustY","autoAdjustOverflowDisabled","targetOffset","getOverflowOptions","arrowWidth","horizontalArrowShift","placementMap","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","rcPlacements","ignoreShake","TransferDirection","TransferItem","TransferProps","targetKeys","listStyle","operationStyle","TransferLocale","separatedDataSource","leftDataSource","rightDataSource","leftFilter","rightFilter","sourceSelectedKeys","targetSelectedKeys","updateState","newSourceSelectedKeys","newTargetSelectedKeys","separateDataSource","indexOfKey","moveTo","moveKeys","newMoveKeys","newTargetKeys","oppositeDirection","getSelectedKeysName","handleSelectChange","moveToLeft","moveToRight","holder","handleSelectAll","filteredDataSource","checkAll","originalSelectedKeys","currentKeys","newKeys1","newKeys2","handleLeftSelectAll","handleRightSelectAll","searchChange","handleLeftFilter","handleRightFilter","handleClear","handleLeftClear","handleRightClear","selectedItem","handleLeftSelect","handleRightSelect","handleLeftScroll","handleRightScroll","getTitles","transferLocale","oldLocale","renderTransfer","leftActive","rightActive","renderedText","renderedEl","listItem","lazyProps","throttle","isRenderResultPlainObject","TransferListProps","titleText","checkedKeys","timer","triggerScrollTimer","listContentWrapper","listContentWrapperDom","getCheckStatus","_handleSelect","_handleFilter","transferNode","listNode","_handleClear","matchFilter","renderItemHtml","renderResult","isRenderResultPlain","filterNull","footerDom","bodyDom","listCls","totalDataSource","showItems","searchNotFound","listBody","listFooter","checkStatus","checkedAll","checkAllCheckbox","TransferOperationProps","leftArrowText","rightArrowText","TransferSearchProps","handleClear2","TreeNode","SHOW_ALL","SHOW_PARENT","SHOW_CHILD","TreeSelectProps","treeCheckable","vcTreeSelect","renderSwitcherIcon","isLeaf","updateTreeData","newLabel","newTitle","renderTreeSelect","treeData","checkable","VcTreeSelectProps","switcherIcon","TreeData","filterTreeNode","searchValue","showCheckedStrategy","treeCheckStrictly","treeDataSimpleMode","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","treeNodeFilterProp","treeNodeLabelProp","getIcon","TreeProps","expandAction","defaultExpandAll","defaultExpandParent","expandedKeys","defaultExpandedKeys","convertTreeToEntities","keyEntities","_selectedKeys","_expandedKeys","getFullKeyList","conductExpandParent","onDebounceExpand","expandFolderNode","onExpand","setUncontrolledState","onDoubleClick","eventKey","ctrlPick","shiftPick","newSelectedKeys","lastSelectedKey","cachedSelectedKeys","from","calcRangeKeys","internalTree","onNodeExpand","treeProps","doubleclick","expand","showLine","autoExpandParent","checkStrictly","halfChecked","defaultCheckedKeys","filterAntTreeNode","loadedKeys","treeNodes","treeNodeProps","dataRef","vcTreeProps","DirectoryTree","Record","None","Start","End","traverseNodesKey","rootChildren","nodeList","getNodeChildren","processNode","startKey","endKey","matchKey","UploadProps","draggerProps","Dragger","accept","beforeUpload","showUploadList","listType","supportServerRender","progressTimer","sFileList","fileList","defaultFileList","dragState","clearProgressTimer","onStart","file","targetItem","fileToObject","nextFileList","fileIndex","uid","FormData","autoUpdateProgress","getPercent","genPercentAdd","curPercent","setInterval","onProgress","onSuccess","response","JSON","parse","getFileItem","onError","handleRemove","removedFileList","removeFileItem","handleManualRemove","uploadRef","abort","onFileDrop","reBeforeUpload","uniqBy","clearInterval","renderUploadList","showRemoveIcon","showPreviewIcon","uploadListProps","preview","vcUploadProps","uploadList","dragCls","uploadButtonCls","uploadButton","imageTypes","reader","FileReader","onloadend","readAsDataURL","extname","url","filename","filenameWithoutSuffix","isImageUrl","thumbUrl","extension","UploadListProps","progressAttr","File","originFileObj","previewDataUrl","handlePreview","thumbnail","loadingProgress","infoUploadingClass","linkProps","previewIcon","iconProps","iconProps1","removeIconClose","iconAndPreview","listClassNames","animationDirection","transitionGroupProps","UploadFileStatus","UploadFile","UploadChangeParam","ShowUploadListInterface","UploadLocale","directory","headers","customRequest","withCredentials","openFileDialogOnClick","UploadState","lastModified","lastModifiedDate","removed","getElement","getPoint","point","childrenProps","monitorBufferTime","monitorWindowResize","aligned","prevProps","forceAlign","startMonitorWindowResize","reAlign","source","sourceRect","lastElement","currentElement","lastPoint","currentPoint","isSamePoint","preRect","stopMonitorWindowResize","clonedeep","resizeHandler","bufferMonitor","buffer","clear","alignElement","Align","ms","bufferFn","clientX","clientY","enUs","showDateInput","showWeekNumber","showOk","renderSidebar","CommonMixin","CalendarMixin","nodeName","goTime","goStartMonth","goEndMonth","onClear","sSelectedValue","isAllowedDate","onDateInputChange","onDateTableSelect","timePickerProps","timePickerDefaultValue","syncTime","onToday","getTodayTime","getRootDOMNode","openTimePicker","closeTimePicker","showTimePicker","disabledTimeConfig","getTimeConfig","timePickerEle","timePickerOriginProps","dateInputElement","getFormat","renderRoot","FullCalendar","defaultType","showTypeSwitch","headerComponents","headerComponent","headerRender","sType","onMonthSelect","TheHeader","CalendarHeader","headerProps","typeChange","dateCellContentRender","handlePanelChange","preSOpen","focusTimeout","focusCalendar","onCalendarKeyDown","closeCalendar","onCalendarSelect","cause","openCalendar","onCalendarOk","onCalendarClear","setOpen","getCalendarElement","calendarEvents","extraProps","calendarInstance","componentInstance","childrenState","isArraysEqual","getValueFromSelectedValue","normalizeAnchor","init","defaultSelectedValue","normalizedValue","generateOptions","extraOptionGen","onInputSelect","originalValue","compare","fireSelectValueChange","RangeCalendar","showClear","prevSelectedValue","firstSelectedValue","onDatePanelEnter","hasSelectedValue","fireHoverValueChange","onDatePanelLeave","nextSelectedValue","updateHoverPoint","currentHoverTime","nextHoverTime","nextHoverValue","onDayHover","miss","includesTime","ht","t1","t2","valueOf","fireValueChange","oriValueIndex","onOpenTimePicker","onCloseTimePicker","isAllowedDateAndTime","onStartInputSelect","oargs","onEndInputSelect","onStartValueChange","leftValue","onEndValueChange","rightValue","onStartPanelChange","newMode","onEndPanelChange","getStartValue","getEndValue","getEndDisableTime","userSettingDisabledTime","hours","hour","minutes","minute","second","oldDisabledMinutes","olddisabledSeconds","disabledStartTime","disabledEndTime","isMonthYearPanelShow","v1","v2","diff","direct","disabledStartMonth","isSameOrAfter","disabledEndMonth","isSameOrBefore","baseProps","dayHover","placeholder1","placeholder2","showOkButton","todayTime","thisMonth","thisYear","isTodayInView","nextMonthOfStart","isClosestMonths","leftPartProps","disabledMonth","enablePrev","enableNext","rightPartProps","timePickerDisabledTime","TodayButtonNode","todayButtonProps","backToToday","today","TimePickerButtonNode","timePickerButtonProps","timePickerDisabled","OkButtonNode","okDisabled","extraFooter","CalendarFooter","footerEl","nowEl","okBtn","timePickerBtn","footerBtn","goMonth","goYear","showIf","condition","nextMonth","previousMonth","nextYear","previousYear","yearPanelReferer","onYearSelect","referer","onDecadeSelect","monthYearElement","monthBeforeYear","selectClassName","timeClassName","showYearPanel","yearFormat","showMonthPanel","monthFormat","day","dayFormat","my","showDecadePanel","dateSelect","timeSelect","localeNow","disabledToday","isDisabled","disabledTodayClass","getTodayTimeStr","DATE_ROW_COUNT","DATE_COL_COUNT","DateInput","formatDate","invalid","hasFocus","cachedSelectionStart","cachedSelectionEnd","dateInputInstance","setSelectionRange","selectionStart","selectionEnd","onInputChange","parsed","isValid","onFocus","onBlur","invalidClass","isSameDay","one","two","beforeCurrentMonthYear","afterCurrentMonthYear","getIdFromDate","DateTBody","contentRender","iIndex","jIndex","dateTable","cellClass","weekNumberCellClass","dateClass","todayClass","selectedClass","selectedDateClass","selectedStartDateClass","selectedEndDateClass","inRangeClass","lastMonthDayClass","nextMonthDayClass","disabledClass","firstDisableClass","lastDisableClass","lastDayOfMonthClass","month1","lastMonthDiffDay","firstDayOfWeek","lastMonth1","passed","DateConstants","tableHtml","isCurrentWeek","weekNumberCell","isActiveWeek","dateCells","last","isBeforeCurrentMonthYear","isAfterCurrentMonthYear","rangeValue","isAfter","isBefore","endOf","dateHtml","getTitleString","cx","veryShortWeekdays","weekDays","showWeekNumberEl","dateColIndex","weekdaysMin","weekdaysShort","weekDaysEls","xindex","bodyProps","ROW","COL","chooseDecade","nextCentury","previousCentury","startYear","preYear","endYear","decades","colIndex","startDecade","endDecade","decadesEls","decadeIndex","tds","dStartDecade","decadeData","dEndDecade","isLast","isNext","classNameMap","clickHandler","yearSelectElement","monthSelectElement","getMonthName","overflowX","changeTypeToDate","changeTypeToMonth","switchCls","typeSwitcher","weekSelect","decadeSelect","dateFormat","dateTimeFormat","previousDecade","nextDecade","getNow","getNowByCurrentStateValue","setSelectedValue","rootInstance","setAndChangeValue","MonthPanel","cellRender","setAndSelectValue","yearPanelShow","chooseMonth","MonthTable","currentMonth","monthsEls","testValue","monthData","cellEl","currentValue","CalendarPart","shouldShowTimePicker","rangeClassName","tableProps","outline","defaultDisabledTime","utcOffset","to","isTimeValidByConfig","invalidTime","seconds","isTimeValid","startOf","timeList","chooseYear","years","decadePanelShow","yeasEls","yearData","BUILT_IN_PLACEMENTS","sActiveValue","oldValue","shallowEqualArrays","newValues","getPopupDOMNode","getFieldName","defaultFieldNames","getFieldNames","getCurrentLevelOptions","getActiveOptions","activeValue","setPopupVisible","setProps","handleMenuSelect","targetOption","menuIndex","getRootDomNode","activeOptions","currentLevel","currentOptions","currentIndex","nextIndex","emptyMenuClassName","menusProps","triggerProps","popupTransitionName","menuItems","scrollActiveItemToView","getOption","expandProps","menuItemCls","expandIconNode","hasChildren","delayOnSelect","isActiveOption","getMenuItemRef","loadingIconNode","getShowOptions","activeOption","delayTimer","optionsLength","itemComponent","sChecked","eventShiftKey","globalProps","substr","_toArray","currentActiveKey","accordion","destroyInactivePanel","currentOpenAnimations","openAnimationFactory","stateActiveKey","onClickItem","isActive","setActiveKey","getItems","newChildren","headerClass","panelEvents","itemClick","handleItemClick","handleKeyPress","which","headerCls","itemCls","_isActive","IDialogPropTypes","getDialogPropTypes","uuid","openCount","w","setTransformOrigin","pos","doc","defaultView","parentWindow","destroyPopup","updatedCallback","inTransition","titleId","removeScrollingEffect","openTime","addScrollingEffect","tryFocus","dialogNode","dialog","elOffset","lastOutSideFocusNode","wrap","sentinelStart","onAnimateLeave","onKeydown","sentinelEnd","getDialogElement","tempFooter","dest","dialogStyle","sentinelStyle","dialogClass","dialogElement","dialogTransitionProps","getZIndexStyle","getWrapStyle","getMaskStyle","getMaskElement","maskElement","maskTransition","getMaskTransitionName","maskProps","maskTransitionProps","maskAnimation","setScrollbar","bodyIsOverflowing","scrollbarWidth","checkScrollbar","resetScrollbar","fullWindowWidth","innerWidth","documentElementRect","adjustDialog","modalIsOverflowing","resetAdjustments","DialogWrap","getContainer2","ILazyRenderBoxPropTypes","hiddenClassName","currentDrawer","windowIsUndefined","drawerProps","ease","firstEnter","levelDom","maskDom","handlerdom","mousePos","sFirstEnter","drawerId","random","round","orignalOpen","passiveSupported","passive","getOpen","getDefault","isOpenChange","getParentAndLevelDom","setLevelDomTransform","getSelfContainer","onMaskTouchEnd","onTouchEnd","onIconTouchEnd","onWrapperTransitionEnd","contentWrapper","getCurrentDrawerSome","HTMLElement","dataToArray","openTransition","placementName","levelMove","transitionEnd","trnasitionEnd","levelValue","$levelMove","transformArguments","$value","placementPos","eventArray","domArray","widthTransition","trannsformTransition","removeMoveHandler","removeStartHandler","transitionStr","heightTransition","getChildToRender","wrapperClassname","isHorizontal","contentValue","handlerChildren","handlerDefalut","handlerSlot","handlerSlotVnode","domContProps","directivesMaskDom","directivesContentWrapper","directivesContentDom","getTouchParentScroll","differX","differY","isY","isX","scrollY","scrollX","scrollWidth","l","currentT","currentL","touches","startPos","changedTouches","vars","transitionEndObject","html","getElementsByTagName","attachEvent","detachEvent","arg","minOverlayWidthMatchTrigger","hideAction","childOriginEvents","getMinOverlayWidthMatchTrigger","getMenuElement","extraOverlayProps","afterVisibleChange","overlayNode","alignInstance","triggerHideAction","popupAnimation","afterPopupVisibleChange","topCenter","bottomCenter","DEFAULT_TRIGGER","createBaseForm","mapProps","identity","formPropName","formName","decorate","formProps","wrappedComponentRef","fields","fieldsStore","createFieldsStore","instances","cachedBind","clearedFieldMetaCache","renderFields","domFields","submitting","updateFields","onCollectCommon","fieldMeta","getFieldMeta","originalProps","getValueFromEvent","valuesAll","getAllValues","valuesAllSet","touched","onCollect","name_","newField","dirty","hasRules","onCollectValidate","validateFieldsInternal","firstFields","validateFirst","getCacheBind","cache","oriFn","fieldOption","getFieldProps","fieldElem","originalEvents","valuePropName","defaultValuePropName","getFieldValuePropValue","newEvents","triggerEvents","usersFieldOption","isValidNestedFieldName","validateTrigger","inputListeners","inputAttrs","validateRules","normalizeValidateRules","validateTriggers","getValidateTriggers","setFieldMeta","saveRef","getFieldInstance","getRules","actionRules","flattenArray","maybeNestedFields","flattenRegisteredFields","changedFields","getNestedAllFields","changedValues","fieldsMeta","newFields","isRegistered","allValues","preserve","clearField","recoverClearedField","fieldList","getAllFieldsName","removedList","allRules","allFields","alreadyErrors","force","f","isEmptyObject","AsyncValidator","messages","errorsGroup","fieldName","fieldErrors","expired","nowAllFields","nowField","reject","getParams","oldCb","getValidFieldsFullName","getValidFieldsName","isSubmitting","getForm","wrappedComponentProps","argumentContainer","computedStyle","currentStyle","word","letter","getScrollableContainer","mixin","formMixin","newCb","validNames","firstNode","firstTop","scrollIntoView","onlyScrollIfNeeded","partOf","internalFlattenFields","flattenFields","isFormField","FieldsStore","validFieldsName","nowFields","nowValues","getValueFromFields","nowValue","maybePartialName","maybePartialNames","fullName","partialName","startsWith","getValueProps","fieldsName","getNotCollectedFields","member","getter","fullNames","isArrayValue","suffixNameStartIndex","setFieldsInitialValue","flattenedInitialValues","initialValues","getNestedFields","getNestedField","getErrorStrs","getFieldMember","isFieldsValidating","Field","Container","treeTraverse","isLeafNode","errorMessage","subTree","subTreeKey","pre","lastIndexOf","InputHandler","touchableProps","defaultParser","SPEED","DELAY","pow","inputNumberProps","focusOnUpDown","useTouch","toNumber","toPrecisionAsStep","focused","updatedFunc","inputRef","getValidValue","inputting","nextValue","inputElem","cursorStart","partRestoreByAfter","cursorAfter","lastKeyCode","fixCaret","pressingUpOrDown","ratio","getRatio","up","down","recordCursorPosition","onKeyUp","toNumberWhenUserInput","getCurrentValidValue","isNotCompleteNumber","changed","getPrecision","valueString","getMaxPrecision","ratioPrecision","stepPrecision","currentValuePrecision","getPrecisionFactor","getInputDisplayValue","inputDisplayValue","cursorEnd","cursorBefore","substring","currentStart","currentEnd","restoreByAfter","fullStr","partStr","formatWrapper","isNegativeZero","toFixed","upStep","rat","precisionFactor","Infinity","downStep","stepFn","recursive","outOfRange","autoStepTimer","upDisabledClass","downDisabledClass","editable","upEvents","downEvents","touchstart","touchend","mousedown","mouseup","inputDisplayValueFormat","isUpDisabled","isDownDisabled","mouseover","mouseout","contentProps","upHandlerProps","unselectable","downHandlerProps","maxLength","LazyLoad","lazyLoadProps","elementType","offsetHorizontal","offsetLeft","offsetRight","offsetVertical","threshold","lazyLoadHandler","_mounted","eventNode","getEventNode","flush","resizeHander","scrollHander","detachListeners","parentScroll","_offsetAll","_offsetVertical","_offsetHorizontal","inViewport","elStyles","elClasses","getElementPosition","customOffset","containerPosition","elementPosition","styleVal","scrollParent","TouchFeedback","ITouchProps","activeStyle","onTouchStart","onTouchMove","onTouchCancel","onMouseDown","onMouseUp","childProps","touchmove","touchcancel","canUseDOM","MENUITEM_OVERFLOWED_CLASSNAME","FLOAT_PRECISION_ADJUST","DOMWrap","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","lastVisibleIndex","setChildrenWidthAndResize","menuUl","MutationObserver","attributes","childList","getMenuItemNodes","ul","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","overflowedIndicator","copy","menuAllProps","subMenuProps","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","setStyle","menuItemNodes","overflowedIndicatorWidth","cur","handleResize","currentSumWidth","liWidth","childNode","overflowed","tagProps","getActiveKey","updateMiniStore","selectInfo","selectedKey","innerMenu","processSingle","oneChanged","onDeselect","getOpenTransitionName","subPopupMenuProps","itemIcon","parentMenu","attribute","isSelected","manualRef","subMenuKey","MenuItem","callRef","hover","domEvent","getPrefixCls","getActiveClassName","getSelectedClassName","getDisabledClassName","mouseEvent","connected","MenuItemGroup","isMenuItemGroup","renderInnerMenuItem","listClassName","guid","popupPlacementMap","horizontal","updateDefaultActiveFirst","defaultActiveFirst","menuId","getMenuIdFromSubMenuEventKey","triggerSubMenuAction","forceSubMenuRender","subMenuOpenDelay","subMenuCloseDelay","popupOffset","isOpen","isSubMenu","handleUpdated","minWidthTimeout","mouseenterTimeout","adjustWidth","menuInstance","onTitleClick","triggerOpenChange","handled","onPopupVisibleChange","subMenuInstance","onTitleMouseEnter","onTitleMouseLeave","onSubMenuClick","addKeyPath","getOpenClassName","saveMenuInstance","isChildrenSelected","loopMenuItemRecursively","subMenuTitle","popupMenu","_menuId","haveRendered","haveOpened","transitionAppear","animProps","isInlineMode","mouseEvents","titleClickEvents","titleMouseEvents","ariaOwns","allDisabled","updateActiveKey","getEventKey","instanceArrayKeyIndexMap","instanceArray","originalActiveKey","found","loopMenuItem","getKeyFromChildrenIndex","SubPopupMenu","prevActiveKey","getFlatInstanceArray","activeItem","onItemHover","onDestroy","activeIndex","ci","renderCommonMenuItem","childListeners","newChildProps","itemHover","isMobileDevice","domWrapProps","isMobile","menuEventKey","styleProperty","restartCloseTimer","startCloseTimer","clearCloseTimer","willDestroy","closeTimer","componentClass","seed","getUuid","notices","noticeIndex","updatedNotices","updateKey","shift","noticeNodes","noticeProps","newNotificationInstance","properties","NUMPAD_ZERO","NUMPAD_NINE","ARROW_UP","ARROW_DOWN","changeSize","quickGo","goButton","goInputText","defaultBuildOptionText","items_per_page","go","KEYCODE","changeSelect","goInput","gotoButton","jump_to_confirm","jump_to","showTitle","calculatePage","statePageSize","showLessItems","showPrevNextJumpers","LOCALE","hasOnChange","hasCurrent","stateCurrent","stateCurrentInputValue","newCurrent","paginationNode","lastCurrentNode","getJumpPrevPage","getJumpNextPage","getItemIcon","handleKeyUp","changePageSize","preCurrent","currentPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","allPages","pagerList","firstPager","lastPager","pageBufferSize","prevPage","nextPage","prev_page","next_page","pagerProps","keypress","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","jumpPrevClassString","jumpNextClassString","totalText","prevDisabled","nextDisabled","circlePropTypes","circleDefaultProps","Circle","getPathStyles","radius","beginPositionX","beginPositionY","endPositionX","endPositionY","pathString","PI","trailPathStyle","strokeDasharray","strokeDashoffset","strokePathStyle","stroke","trailWidth","pathFirst","pathSecond","enhancer","Line","pathStyle","center","viewBoxString","svgPathRef","prevTimeStamp","cleanedValue","onHover","getStarValue","isReset","changeValue","getStarDOM","starEle","leftDis","getOffsetLeft","rateRef","stars","starProps","getClassName","starValue","getClientPosition","box","ariaId","backfillValue","lastVisible","rafInstance","lastInputValue","prevVisible","firstActiveItem","scrollIntoViewOpts","alignWithTop","menuRef","renderMenu","menuDeselect","menuSelect","popupScroll","getSelectKeys","activeKeyProps","clonedMenuItems","foundFirst","popupFocus","preventDefaultEvent","isSelectOptGroup","isSelectOption","maxTagTextLength","dropdownAlign","SELECT_EMPTY_VALUE_KEY","saveInputRef","saveInputMirrorRef","saveTopCtrlRef","saveSelectTriggerRef","saveRootRef","saveSelectionRef","_focused","_mouseDown","_options","optionsInfo","getOptionsInfoFromProps","getValueFromProps","_inputValue","getInputValueForCombobox","_optionsInfo","_backfillValue","_skipBuildOptionsInfo","_ariaId","generateUUID","getDerivedStateFromProps","isMultipleOrTags","inputNode","getInputDOMNode","mirrorNode","getInputMirrorDOMNode","forcePopupAlign","clearFocusTime","clearBlurTime","dropdownContainer","getOptionsFromChildren","useDefaultValue","toArray","getMapKey","getLabelFromOption","getPropValue","preState","singleValue","getValuePropValue","getValue","oldOptionsInfo","includesSeparators","getValueByInput","fireChange","setOpenState","setInputValue","onDropdownVisibleChange","timeoutFocus","updateFocusClassName","onInputKeydown","maybeFocus","removeSelected","openIfHasChildren","getRealOpenState","selectTriggerRef","getInnerMenu","handleBackfill","onMenuSelect","fireSelect","findIndexInValueBySingleValue","onMenuDeselect","onArrowClick","onPlaceholderClick","onPopupFocus","onClearSelection","onChoiceAnimationLeave","getOptionInfoBySingleValue","defaultLabel","getLabelFromPropsValue","defaultInfo","getOptionBySingleValue","getOptionsBySingleValue","getValueByLabel","oldLable","getVLBySingleValue","getLabelBySingleValue","getVLForOnChange","vlsS","vls","vl","getDropdownContainer","getPlaceholderElement","UNSELECTABLE_ATTRIBUTE","UNSELECTABLE_STYLE","inputClick","inputBlur","blurTimer","isSingleMode","firstOption","findFirstMenuItem","tmpValue","inputFocus","isMultipleOrTagsOrCombobox","_getInputElement","defaultInput","inputElement","inputCls","inputEvents","inputKeydown","topCtrlRef","inputMirrorRef","getPopupMenuComponent","needFocus","nextState","fireSearch","hasNewValue","splitBySeparators","selectionRef","markMouseDown","markMouseLeave","_filterOption","defaultFilter","defaultFilterFn","filterFn","focusTimer","rootRef","isChildDisabled","canMultiple","_valueOptions","childValue","triggerRef","renderFilterOptions","childrenKeys","renderFilterOptionsFromChildren","notFindInputItem","sel","childChildren","innerItems","childValueSub","subChild","validateOptionValue","renderTopControlNode","showSelectedValue","toTitle","selectedValueNodes","limitedCountValue","maxTagPlaceholderEl","omittedValues","choiceClassName","topCtrlContainerClick","renderArrow","defaultIcon","renderClear","selectionRefClick","selectionRefFocus","selectionRefBlur","ctrlNode","realOpen","selectionProps","rootCls","dropdownWidth","saveDropdownMenuRef","saveTriggerRef","setDropdownWidth","dropdownMenuRef","getDropdownElement","getDropdownPrefixCls","dropdownMenuProps","menuNode","getDropdownTransitionName","dropdownVisibleChange","popupElement","widthProp","ProxySelect","newChild","isMultiple","itemValue","itemKey","userSelect","WebkitUserSelect","separators","reg","token","r","PrevArrow","currentSlide","slideCount","prevClasses","prevHandler","prevArrowProps","customProps","NextArrow","nextClasses","nextHandler","canGoNext","nextArrowProps","unslick","edgeFriction","verticalSwiping","asNavFor","pauseOnDotsHover","pauseOnFocus","responsive","slidesPerRow","swipeEvent","useTransform","waitForAnimate","getDotCount","spec","appendDots","customPaging","dotCount","leftBound","rightBound","dotOptions","autoplaying","currentDirection","currentLeft","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","track","callbackTimers","clickable","debouncedResize","listRefHandler","trackRefHandler","adaptHeight","getHeight","setTrackStyle","resizeWindow","listRef","trackRef","handleAutoPlay","pause","animationEndCallback","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","getTrackCSS","ssrInit","trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","childWidth","currentWidth","childrenCount","checkImagesLoad","images","imagesCount","loadedCount","image","onclick","prevClickHandler","onload","onerror","progressiveLazyLoad","slidesToLoad","lazyLoadTimer","slideHandler","firstBatch","changeSlide","targetSlide","keyHandler","dir","selectHandler","disableBodyScroll","returnValue","ontouchmove","enableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","play","playType","autoplayTimer","pauseType","onDotsOver","onDotsLeave","onTrackOver","onTrackLeave","onSlideFocus","onSlideBlur","getOnDemandLazySlides","ro","onfocus","onblur","trackProps","extractObject","dotProps","arrowProps","prevArrowCustom","nextArrowCustom","verticalHeightStyle","centerPaddingStyle","listProps","mousemove","innerSliderProps","_responsiveMediaHandlers","innerSliderRefHandler","query","slickPause","slickPlay","breakpoints","breakpt","bQuery","json2mq","settings","resp","newSlide","sliderProps","getSlideClasses","slickActive","slickCenter","centerOffset","slickCloned","slickCurrent","getSlideStyle","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","slideClass","slideClasses","preCloneNo","onDemandSlides","getRequiredLazySlides","requiredSlides","lazySlidesOnLeft","lazySlidesOnRight","getSwipeDirection","swipeAngle","xDist","yDist","atan2","canGo","newObject","centerPaddingAdj","animationSlide","finalSlide","animationLeft","finalLeft","getTrackAnimateCSS","previousInt","slideOffset","unevenOffset","indexOffset","siblingDirection","onEdge","curLeft","swipeLength","sqrt","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","getSlideCount","checkNavigable","getNavigableIndexes","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","slidesTraversed","dataset","checkSpecKeys","keysArray","trackHeight","trackChildren","getTotalSlides","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","slidesOnRight","slidesOnLeft","clickFocused","onMouseUpListener","handleMouseUp","setClickFocus","clickFocus","handleMousedown","postionStyle","ariaProps","rangeProps","pushable","allowCross","Range","displayName","trimAlignValue","recent","sHandle","setChangeValue","minAmaxProps","nextBounds","utils","isNotControlled","calcValueByPos","startPosition","closestBound","getClosestBound","prevMovedHandleIndex","getBoundNeedMoving","prevValue","onEnd","removeDocumentEvents","onMove","onKeyboard","valueMutator","mutatedValue","isFromKeyboardEvent","boundNeedMoving","isAtTheSamePoint","getLowerBound","getUpperBound","getPoints","_getPointsCache","pointsObject","nextHandle","pushSurroundingHandles","handlesRefs","diffToNext","pushHandle","amount","pushHandleOnePoint","pointIndex","nextPointIndex","mergedProps","valInRange","valNotConflict","ensureValueNotConflict","thershold","getTrack","offsets","trackClassName","renderSlider","defaultHandle","handleStyle","handleGenerator","calcOffset","handleClassName","handles","saveHandle","tracks","createSlider","minimumTrackStyle","_trackStyle","Marks","upperBound","lowerBound","clickLabel","marksKeys","marksCount","markWidth","markPoint","markPointIsObject","markLabel","markClassName","bottomStyle","marginBottom","leftStyle","markStyle","calcPoints","dotStyle","activeDotStyle","isActived","pointClassName","Track","positonStyle","elStyle","maximumTrackStyle","railStyle","isPointDiffEven","button","dragOffset","handlePosition","addDocumentMouseEvents","addDocumentTouchEvents","onMouseMove","onClickMarkLabel","getSliderStart","slider","getSliderLength","coords","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","calcValue","pixelOffset","sliderClassName","markProps","isDev","isEventFromHandle","isValueOutOfRange","isNotTouchEvent","getClosestPoint","closestStep","diffs","stepString","getMousePosition","zoom","visualViewport","getTouchPosition","getHandleCenterPosition","ensureValueInRange","ensureValuePrecision","closestPoint","pauseEvent","calculateNextValue","increase","decrease","indexToGet","stringify","keyToGet","getKeyboardValueMutator","isString","itemWidth","adjustMarginRight","stepNumber","tailContent","renderIconNode","iconClassName","iconDot","stepProps","stepItemStyle","calcStepOffsetWidth","flexSupported","lastStepOffsetWidth","calcTimeout","vcStepsRef","lastChild","filteredChildren","lastIndex","adjustedlabelPlacement","switchPropTypes","stateChecked","setChecked","switchClassName","spanProps","isTableColumnGroup","BaseTable","tableClassName","hasHead","hasBody","expander","getRowKey","isAnyColumnsFixed","handleRowHover","isHover","currentHoverKey","renderRows","renderData","indent","ancestorKeys","columnManager","sComponents","rowClick","onRowClick","rowDoubleclick","onRowDoubleClick","rowContextmenu","onRowContextMenu","rowMouseenter","onRowMouseEnter","rowMouseleave","onRowMouseLeave","onHoverProps","leafColumns","leftLeafColumns","rightLeafColumns","rowPrefixCls","expandableRowProps","needIndentSpaced","expandedChange","handleExpandChange","tableRowProps","expandableRow","getBodyWrapper","tableStyle","tableLayout","BodyWrapper","wrapper","handleBodyScroll","handleWheel","updateTableRef","fixedColumnsBodyLeft","saveChildrenRef","fixedColumnsBodyRight","bodyTable","innerBodyStyle","measureScrollbar","paddingBottom","baseTable","refName","ColumnManager","_cached","_cache","groupedColumns","_leafColumns","leftColumns","rightColumns","_groupColumns","currentRow","parentColumn","grouped","setRowSpan","rowSpan","expandable","expandClassName","ExpandableRow","handleDestroy","hasExpandIcon","columnIndex","tempExpandIconAsCell","tempExpandIconColumnIndex","handleRowClick","renderExpandIconCell","cells","childrenData","ExpandableTableProps","expandedRowClassName","ExpandableTable","finnalExpandedRowKeys","expandedRowsHeight","latestExpandedRows","expandedRowIndex","renderExpandIndentCell","iconColumn","renderExpandedRow","parentKey","cell","colCount","nextAncestorKeys","nextIndent","handleBodyScrollLeft","headTable","rowRef","preData","merge","_components","reset","hasScrollX","resetScrollX","warningOnce","fixedColumnsHeadRowsHeight","fixedColumnsBodyRowsHeight","setScrollPosition","debouncedWindowResize","handleWindowResize","ref_headTable","ref_bodyTable","scrollPosition","tableNode","setScrollPositionClassName","scrollToLeft","scrollToRight","syncFixedTableRowHeight","tableRect","headRows","bodyRows","lastScrollLeft","handleBodyScrollTop","ref_fixedColumnsBodyLeft","ref_fixedColumnsBodyRight","lastScrollTop","wd","deltaY","renderMainTable","scrollable","renderEmptyText","renderLeftFixedTable","renderRightFixedTable","renderTitle","emptyClassName","hasLeftFixed","isAnyColumnsLeftFixed","hasRightFixed","isAnyColumnsRightFixed","expandableTableProps","isInvalidRenderCellText","onCellClick","BodyCell","tdProps","indentText","textAlign","getHeaderRows","HeaderWrapper","TableHeaderRow","HeaderRow","HeaderCell","rowProps","customStyle","cellProps","headerCellProps","getRowHeight","headerHeight","TableRow","hovered","expandedRow","shouldRender","saveRowRef","onContextMenu","setExpanedRowHeight","setRowHeight","customClass","customClassName","bodyRowProps","dblclick","contextmenu","scrollbarVerticalSize","scrollbarHorizontalSize","scrollbarMeasure","scrollDiv","scrollProp","wait","immediate","debounceFunc","persist","callNow","front","componentDidUpdate","styles","panels","getRef","wrapNode","inkBarNode","activeTab","inkBarNodeStyle","getActiveIndex","transformSupported","isTransformSupported","setTransform","getLeft","getTop","scrollAnimated","navWrapper","tabBarPositionChange","setOffset","updatedCal","setNextPrev","scrollToActiveTab","isNextPrevShown","navNode","navTabsContainer","navNodeWH","getScrollWH","containerWH","getOffsetWH","navWrapNodeWH","minOffset","realOffset","setNext","setPrev","getOffsetLT","checkNextPrev","navOffset","navStyle","prevTransitionEnd","navWrap","needToSroll","lastNextPrevShown","activeTabWH","wrapOffset","activeTabOffset","prevClick","navWrapNode","nextClick","showNextPrev","prevButton","nextButton","navClassName","navClasses","setRef","prevElement","nextElement","topOrBottom","tabBarExtraContentStyle","float","rst","animatedWithMargin","getTabPanes","animatedStyle","getMarginStyle","getTransformPropValue","getTransformByIndex","sentinelContext","_isActived","isRender","setPanelSentinelStart","setPanelSentinelEnd","panelSentinelStart","panelSentinelEnd","getDefaultActiveKey","activeKeyIsValid","_activeKey","sentinelId","tabBar","tabClick","onNavKeyDown","eventKeyCode","nextKey","getNextActiveKey","previousKey","onScroll","setSentinelStart","setSentinelEnd","updateSentinelContext","tabContent","contents","webkitTransform","mozTransform","webkitTransition","MozTransform","translate","marginDirection","setPxStyle","getDataAttr","toNum","getTypeValue","wrapperNode","formatOption","disabledOptions","Combobox","hourOptions","minuteOptions","secondOptions","isAM","onItemChange","ampm","onEnterSelectPanel","getHourSelect","hourOptionsAdj","hourAdj","getMinuteSelect","getSecondSelect","getAMPMSelect","AMPMOptions","currentSelectPanel","showStr","getProtoValue","disabledHourOptions","disabledMinuteOptions","disabledSecondOptions","getClearButton","getInput","selectionRange","onCurrentSelectPanelChange","disabledHours2","esc","requestAnimationFrameTimeout","difference","perTick","selectedIndex","scrollToSelected","topOption","onPanelClear","onEsc","onKeyDown2","fmtString","getPanelElement","getPopupClassName","selectColumnCount","destroyTooltipOnHide","arrowContent","tipId","getPopupElement","defaultPopupVisible","destroyPopupOnHide","_prevProps","_loadedKeys","expandedKeyList","_expandedKeyList","cachedExpandedKeyList","_cachedExpandedKeyList","valueList","valueEntities","filteredTreeNodes","_keyList","entity","BasePopup","upperSearchValue","searchHalfCheckedKeys","treeIcon","treeLine","renderSearch","onTreeExpand","onLoad","getLoadData","treeNode","filterVal","renderNotFound","keyList","onPopupKeyDown","onTreeNodeSelect","onTreeNodeCheck","$notFound","$treeNodes","$tree","treeAllProps","check","load","selectorPropTypes","selectorValueList","modeName","BaseSelector","renderSelection","domRef","createRef","onSelectorFocus","onSelectorBlur","onSelectorClear","onSelectorKeyDown","myTabIndex","SinglePopup","SearchInput","_renderPlaceholder","_renderSearch","needAlign","mirrorInputRef","alignInputWidth","isDidMount","onSearchInputChange","onSearchInputKeyDown","getWatch","needSyncKeys","prefixAria","selectorRef","generateAriaId","_valueList","_searchHalfCheckedKeys","_missValueList","_selectorValueList","_valueEntities","_posEntities","_keyEntities","_searchValue","_init","_treeNodes","_filteredTreeNodes","onComponentKeyDown","onMultipleSelectorRemove","processState","propName","updater","valueRefresh","propValue","treeDataChanged","treeDataModeChanged","convertDataToTree","simpleMapper","pId","rootPId","parseSimpleTreeData","entitiesMap","posEntities","formatInternalValue","missValueList","filteredValueList","latestValueList","wrapperValue","conductCheck","formatSelectorValue","filterTreeNodeFn","nodeValue","getFilterTree","getHalfCheckedKeys","wrappedValue","nodeEventInfo","triggerChange","isSearchValueControlled","removeValue","triggerEntity","newValueList","isPosRelated","extraInfo","triggerValue","deselectInfo","filteredEntityList","checkedNodes","checkedNodesPositions","allCheckedNodes","flatToHierarchy","selectedNodes","newMissValueList","isLabelInValue","onValueTrigger","isAdd","nodeExtraInfo","checkedNodeList","oriKeyList","cleanEntity","isSet","needSync","byTrigger","documentClickClose","$trigger","delayForcePopupAlign","preValue","connectValueList","labelList","passProps","choiceAnimationLeave","popupProps","treeExpanded","Popup","MultiplePopup","$popup","Selector","MultipleSelector","SingleSelector","$selector","selectTriggerProps","SelectNode","isTreeNode","SelectTrigger","dropdownPopupAlign","stretch","Selection","onRemove","TREE_SELECT_EMPTY_VALUE_KEY","generateSelector","currentPlaceholder","myValueList","restValueList","restNodeSelect","warnDeprecatedLabel","positionList","entrances","posMap","parsedList","parentPos","parentEntity","resetAriaId","keyNodes","rootNodeList","pos1","pos2","fields1","fields2","minLen","filterFunc","mapFilteredNodeToData","hierarchyList","targetValueList","traverse","processProps","vcConvertDataToTree","initWrapper","processEntity","currentEntity","vcConvertTreeToEntities","parentValue","rcConductCheck","module","exports","_checkedKeys","_halfCheckedKeys","_loadingKeys","_treeNode","_dragOverNodeKey","_dropPosition","_dragNodesKeys","vcTree","calcSelectedKeys","checkedKeyEntity","parseCheckedKeys","halfCheckedKeys","conductKeys","onNodeDragStart","dragNode","getDragNodesKeys","arrDel","onNodeDragEnter","selectHandle","dropPosition","calcDropPosition","delayedDragEnterLogic","newExpandedKeys","arrAdd","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","posArr","posToArr","dropResult","dragNodesKeys","dropToGap","onNodeClick","onNodeDoubleClick","onNodeSelect","targetSelected","eventObj","onNodeCheck","oriCheckedKeys","oriHalfCheckedKeys","checkedObj","onNodeLoad","loadingKeys","newLoadedKeys","newLoadingKeys","targetExpanded","loadPromise","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","isKeyChecked","renderTreeNode","dragOverNodeKey","getPosition","warnOnlyTreeNode","loaded","dragOver","dragOverGapTop","dragOverGapBottom","mapChildren","ICON_OPEN","ICON_CLOSE","defaultTitle","__ANT_TREE_NODE","disableCheckbox","dragNodeHighlight","vcTreeNode","syncLoadData","onSelectorClick","isSelectable","onCheck","onSelectorDoubleClick","onDragStart","dataTransfer","setData","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","originList","targetList","getNodeState","isLeaf2","treeDisabled","treeSelectable","renderSwitcher","switcherCls","renderCheckbox","$custom","renderIcon","renderSelector","wrapClass","$icon","currentIcon","ProxyTree","DRAG_SIDE_RANGE","DRAG_MIN_GAP","onlyTreeNodeWarned","isCheckDisabled","traverseTreeNodes","subNode","subIndex","des","internalProcessProps","processer","childrenNodes","onProcessFinished","keyProps","isCheck","conductUp","everyChildChecked","someChildChecked","childKey","childChecked","childHalfChecked","conductDown","conduct","checkedKeyList","halfCheckedKeyList","getDataAndAria","getClassNameFromAlign","stretchChecked","targetWidth","targetHeight","setStretchSize","onAlign","popupDomNode","currentAlignClassName","$ele","popupInstance","getTargetElement","getAlignTarget","popupInnerProps","useTransition","transitionEvent","returnEmptyString","returnDocument","ALL_HANDLERS","getPopupClassNameFromAlign","popup","focusDelay","blurDelay","getDocument","vcTriggerContext","beforeCreate","fireEvents","clearDelayTimer","clearOutsideHandler","mouseDownTimeout","currentDocument","clickOutsideHandler","isClickToHide","isContextmenuToShow","onDocumentClick","touchOutsideHandler","contextmenuOutsideHandler1","onContextmenuClose","contextmenuOutsideHandler2","delaySetPopupVisible","setPoint","onMouseleave","onPopupMouseenter","onPopupMouseleave","relatedTarget","isFocusToShow","focusTime","onMousedown","preClickTime","onTouchstart","preTouchTime","isBlurToHide","onContextmenu","preTime","nextVisible","isClickToShow","onPopupMouseDown","hasPopupMouseDown","handleGetPopupClassFromAlign","getAlignPopupClassName","getPopupAlign","getAlignFromPlacement","savePopup","mouseProps","isMouseEnterToShow","isMouseLeaveToHide","popupContainer","mountNode","delayS","createTwoChains","Trigger","isPointsEq","a1","a2","isAlignPoint","placementStr","baseAlign","upload","upLoadPropTypes","componentTag","AjaxUploader","reqs","getUid","_isMounted","files","uploadFiles","fileInputRef","traverseFileTree","attrAccept","_file","postFiles","post","before","processedFileType","processedFile","log","request","defaultRequest","xhr","err","drop","dragover","IFRAME_STYLE","IframeUploader","getIframeDocument","endUpload","getFormInputNode","startUpload","getIframeNode","iframeRef","contentDocument","getFormNode","getFormDataNode","getFileForMultiple","getIframeHTML","domain","domainScript","domainInput","initIframeSrc","initIframe","iframeNode","win","contentWindow","write","onchange","updateIframeWH","formNode","dataSpan","inputs","createDocumentFragment","iframeStyle","empty","uploadProps","multipart","AjaxUpload","IframeUpload","uploaderRef","componentProps","ComponentUploader","endsWith","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","charAt","getError","getBody","responseText","XMLHttpRequest","onprogress","formData","append","setRequestHeader","send","isAccepted","_traverseFileTree","isFile","isDirectory","dirReader","createReader","readEntries","entrieItem","webkitGetAsEntry","camelCase","mod"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4F;;;;;;;;;;;;;;;;;;;AC/Ee;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,WAAS;AACPC,YADO,oBACEC,KADF,EACSC,QADT,EACmB;AACxB,UAAMC,WAAW,OAAOF,KAAP,KAAiB,UAAjB,GAA8BA,MAAM,KAAKG,KAAX,EAAkB,KAAKC,MAAvB,CAA9B,GAA+DJ,KAAhF;AACA;A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G;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gEAAiB;AAC3D;AACA;AACA,QAAQ,+DAAgB;AACxB;AACA,KAAK;AACL;AACA;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA;AACA;AACA,MAAM,kDAAG;AACT;AACA;AACA;AACA,eAAe,oEAAQ,GAAG;AAC1B;AACA,OAAO;AACP;AACA,WAAW,uDAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEe,mEAAI,E;;;;;;;;;;;;ACxGnB;AAAA;AAAqC;;AAEtB,uHAAI,E;;;;;;;;;;;;ACFnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACc;AACN;AACG;;AAEzD;AACP,kCAAkC,aAAoB;AACtD;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEO;AACP;AACA,IAAI,2EAAe;;AAEnB;AACA;;AAEA,EAAE,wEAAY;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAEM;AACP;AACA,wBAAwB,kBAAkB,oEAAQ,GAAG,+BAA+B;AACpF;AACA,KAAK;AACL;AACA,qBAAqB,oEAAQ;AAC7B;AACA,GAAG;AACH,WAAW,oEAAQ,GAAG;AACtB,GAAG;AACH;AACA,GAAG;AACH;;AAEO;AACP;AACA,SAAS,oEAAa;AACtB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;AC1Ga;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC/rED;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,oC;;;;;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA,CAAC;;AAED,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,mBAAO,CAAC,uFAAmB;;AAElD;;AAEA,oBAAoB,mBAAO,CAAC,4DAAe;;AAE3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,oC;;;;;;;;;;;;ACrRa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AClDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,iBAAiB,mBAAO,CAAC,0DAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,gBAAgB;AAChB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,yBAAyB;AACzB,wBAAwB;AACxB,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;AC9Fa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gBAAgB,mBAAO,CAAC,sEAAY;;AAEpC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,kD;;;;;;;;;;;ACrCA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACoC;AACrC,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;AC5BY;;AAEb;AACA;AACA,CAAC;;AAED,gBAAgB,mBAAO,CAAC,sFAA+B;;AAEvD;;AAEA,eAAe,mBAAO,CAAC,sFAA+B;;AAEtD;;AAEA,YAAY,mBAAO,CAAC,8FAAmC;;AAEvD;;AAEA,eAAe,mBAAO,CAAC,oFAA8B;;AAErD;;AAEA,YAAY,mBAAO,CAAC,yDAAQ;;AAE5B,iBAAiB,mBAAO,CAAC,0EAAc;;AAEvC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAY;;AAErC,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,4B;;;;;;;;;;;;AC5Sa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,i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M,GAAG,sBAAsB,IAAI;AACzY,qBAAqB,EAAE,UAAU,EAAE;AACnC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,0B;;;;;;;;;;;;ACzGa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,0DAAS;;AAE7B;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AC7Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gBAAgB,mBAAO,CAAC,sFAA+B;;AAEvD;;AAEA,eAAe,mBAAO,CAAC,oFAA8B;;AAErD;;AAEA,eAAe,mBAAO,CAAC,sFAA+B;;AAEtD;;AAEA,YAAY,mBAAO,CAAC,8FAAmC;;AAEvD;;AAEA,iBAAiB,mBAAO,CAAC,oGAAsC;;AAE/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;;AAEA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,uDAAuD;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AClPa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;;;;;;;AC1Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,aAAa,mBAAO,CAAC,qEAAS;;AAE9B;;AAEA,aAAa,mBAAO,CAAC,qEAAS;;AAE9B;;AAEA,cAAc,mBAAO,CAAC,uEAAU;;AAEhC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,eAAe,mBAAO,CAAC,yEAAW;;AAElC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,2EAAY;;AAEpC;;AAEA,YAAY,mBAAO,CAAC,mEAAQ;;AAE5B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACjFa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;ACxCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;AC3Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6B;;;;;;;;;;;;AC1Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;ACvCa;;AAEb;AACA;AACA,CAAC;;AAED,eAAe,mBAAO,CAAC,oFAA8B;;AAErD;;AAEA,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4B;;;;;;;;;;;;AC5Ca;;AAEb;AACA;AACA,CAAC;;AAED,YAAY,mBAAO,CAAC,iEAAU;;AAE9B;;AAEA,YAAY,mBAAO,CAAC,0DAAS;;AAE7B,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;;;;;;AC9BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjDA,kBAAkB,YAAY,mBAAO,CAAC,sFAA+B,sB;;;;;;;;;;;ACArE,kBAAkB,YAAY,mBAAO,CAAC,0FAAiC,sB;;;;;;;;;;;ACAvE,kBAAkB,YAAY,mBAAO,CAAC,wFAAgC,sB;;;;;;;;;;;ACAtE,kBAAkB,YAAY,mBAAO,CAAC,8FAAmC,sB;;;;;;;;;;;ACAzE,kBAAkB,YAAY,mBAAO,CAAC,4FAAkC,sB;;;;;;;;;;;ACAxE,kBAAkB,YAAY,mBAAO,CAAC,8GAA2C,sB;;;;;;;;;;;ACAjF,kBAAkB,YAAY,mBAAO,CAAC,wFAAgC,sB;;;;;;;;;;;ACAtE,kBAAkB,YAAY,mBAAO,CAAC,gFAA4B,sB;;;;;;;;;;;ACAlE,kBAAkB,YAAY,mBAAO,CAAC,oFAA2B,sB;;;;;;;;;;;ACAjE,kBAAkB,YAAY,mBAAO,CAAC,gGAAoC,sB;;;;;;;;;;;;ACA7D;;AAEb;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACRa;;AAEb;;AAEA,sBAAsB,mBAAO,CAAC,yGAAmC;;AAEjE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;;;;;;;AC1BY;;AAEb;;AAEA,sBAAsB,mBAAO,CAAC,yGAAmC;;AAEjE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,E;;;;;;;;;;;;ACvBa;;AAEb;;AAEA,cAAc,mBAAO,CAAC,uFAA0B;;AAEhD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;ACtBa;;AAEb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;;;;;;ACda;;AAEb;;AAEA,mBAAmB,mBAAO,CAAC,mFAAwB;;AAEnD;;AAEA,oBAAoB,mBAAO,CAAC,qFAAyB;;AAErD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAwD,+BAA+B;AACvF;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,G;;;;;;;;;;;;AClDY;;AAEb;;AAEA,YAAY,mBAAO,CAAC,iFAAuB;;AAE3C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;;;;;;;ACpBa;;AAEb;;AAEA,gBAAgB,mBAAO,CAAC,2FAA4B;;AAEpD;;AAEA,cAAc,mBAAO,CAAC,yEAAmB;;AAEzC;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;ACnDD;AACA;AACA;;AAEA;AACA,cAAc,mBAAO,CAAC,0DAAS;AAC/B,CAAC;AACD,cAAc,mBAAO,CAAC,oEAAmB;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AAC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AAgB;AAC1C,qBAAqB,mBAAO,CAAC,0FAAsB;AACnD,qBAAqB,mBAAO,CAAC,4EAAe;AAC5C,eAAe,mBAAO,CAAC,8DAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,8DAAQ;AAC/B;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;ACrBA;AACA,UAAU;AACV;;;;;;;;;;;;ACFA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA,WAAW,mBAAO,CAAC,8DAAQ;AAC3B,eAAe,mBAAO,CAAC,0EAAc;AACrC,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,cAAc,mBAAO,CAAC,0EAAc;AACpC;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,kEAAU;AAChC,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,oEAAW;AAChC,gBAAgB,mBAAO,CAAC,gEAAS;AACjC;AACA;AACA;AACA,aAAa,mBAAO,CAAC,8DAAQ;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACpEa;AACb;AACA,gBAAgB,mBAAO,CAAC,4EAAe;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACjBa;AACb;AACA,cAAc,mBAAO,CAAC,8EAAgB;AACtC,WAAW,mBAAO,CAAC,8EAAgB;AACnC,UAAU,mBAAO,CAAC,4EAAe;AACjC,eAAe,mBAAO,CAAC,0EAAc;AACrC,cAAc,mBAAO,CAAC,sEAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,kEAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACjCD;AACA,eAAe,mBAAO,CAAC,0EAAc;AACrC,UAAU,mBAAO,CAAC,4EAAe;AACjC,kBAAkB,mBAAO,CAAC,kFAAkB;AAC5C,eAAe,mBAAO,CAAC,4EAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,4EAAe;AACtC;AACA;AACA;AACA;AA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AAW;AAChC,UAAU,mBAAO,CAAC,8DAAQ;AAC1B;AACA;AACA;;;;;;;;;;;;ACJA,WAAW,mBAAO,CAAC,gEAAS;AAC5B,aAAa,mBAAO,CAAC,oEAAW;AAChC;AACA,kDAAkD;;AAElD;AACA,qEAAqE;AACrE,CAAC;AACD;AACA,QAAQ,mBAAO,CAAC,sEAAY;AAC5B;AACA,CAAC;;;;;;;;;;;;ACXD;AACA,eAAe,mBAAO,CAAC,0EAAc;AACrC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,cAAc,mBAAO,CAAC,8DAAQ;AAC9B;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,cAAc,mBAAO,CAAC,sEAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,aAAa,mBAAO,CAAC,oEAAW;AAChC,WAAW,mBAAO,CAAC,gEAAS;AAC5B,UAAU,mBAAO,CAAC,4EAAe;AACjC,aAAa,mBAAO,CAAC,oEAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,8DAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnFA,gBAAgB,mBAAO,CAAC,4EAAe;AACvC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;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,8DAAQ;AAC1B,cAAc,mBAAO,CAAC,sEAAY;AAClC,cAAc,mBAAO,CAAC,oEAAW;AACjC,eAAe,mBAAO,CAAC,0EAAc;AACrC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,iBAAiB,mBAAO,CAAC,8EAAgB;AACzC,YAAY,mBAAO,CAAC,oEAAW;AAC/B,yBAAyB,mBAAO,CAAC,8FAAwB;AACzD,WAAW,mBAAO,CAAC,gEAAS;AAC5B,gBAAgB,mBAAO,CAAC,0EAAc;AACtC,iCAAiC,mBAAO,CAAC,oGAA2B;AACpE,cAAc,mBAAO,CAAC,sEAAY;AAClC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,qBAAqB,mBAAO,CAAC,sFAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,EAAE,mBAAO,CAAC,8DAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA,uBAAuB,mBAAO,CAAC,gFAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E,mBAAO,CAAC,0FAAsB;AAC9B,mBAAO,CAAC,8EAAgB;AACxB,UAAU,mBAAO,CAAC,gEAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gDAAgD,mBAAO,CAAC,8EAAgB;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC7RY;AACb,UAAU,mBAAO,CAAC,0EAAc;;AAEhC;AACA,mBAAO,CAAC,8EAAgB;AACxB,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;;AChBY;AACb;AACA,aAAa,mBAAO,CAAC,oEAAW;AAChC,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,kBAAkB,mBAAO,CAAC,8EAAgB;AAC1C,cAAc,mBAAO,CAAC,oEAAW;AACjC,eAAe,mBAAO,CAAC,wEAAa;AACpC,WAAW,mBAAO,CAAC,gEAAS;AAC5B,aAAa,mBAAO,CAAC,kEAAU;AAC/B,aAAa,mBAAO,CAAC,oEAAW;AAChC,qBAAqB,mBAAO,CAAC,0FAAsB;AACnD,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,UAAU,mBAAO,CAAC,8DAAQ;AAC1B,aAAa,mBAAO,CAAC,sEAAY;AACjC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,eAAe,mBAAO,CAAC,0EAAc;AACrC,cAAc,mBAAO,CAAC,wEAAa;AACnC,eAAe,mBAAO,CAAC,0EAAc;AACrC,eAAe,mBAAO,CAAC,0EAAc;AACrC,gBAAgB,mBAAO,CAAC,4EAAe;AACvC,kBAAkB,mBAAO,CAAC,gFAAiB;AAC3C,iBAAiB,mBAAO,CAAC,kFAAkB;AAC3C,cAAc,mBAAO,CAAC,kFAAkB;AACxC,cAAc,mBAAO,CAAC,sFAAoB;AAC1C,YAAY,mBAAO,CAAC,8EAAgB;AACpC,UAAU,mBAAO,CAAC,0EAAc;AAChC,YAAY,mBAAO,CAAC,8EAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,8EAAgB;AAC1B,EAAE,mBAAO,CAAC,4EAAe;AACzB,EAAE,mBAAO,CAAC,8EAAgB;;AAE1B,sBAAsB,mBAAO,CAAC,sEAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,gEAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACzOA;AACa;AACb,cAAc,mBAAO,CAAC,oEAAW;AACjC,WAAW,mBAAO,CAAC,gEAAS;AAC5B,aAAa,mBAAO,CAAC,oEAAW;AAChC,yBAAyB,mBAAO,CAAC,8FAAwB;AACzD,qBAAqB,mBAAO,CAAC,sFAAoB;;AAEjD,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;;;;;;ACnBU;AACb;AACA,cAAc,mBA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ACA;AACA,6CAA6C,8CAAK;AAClD,gBAAgB,8CAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS,gEAAe;AACxB;;AAEA;AACA;AACA;AACA;AACA,OAAO,8CAAK;AACZ;AACA,mBAAmB,8CAAK;AACxB;AACA;AACA;AACA;;AAEA,gBAAgB,8CAAK;AACrB,gBAAgB,8CAAK;AACrB,sBAAsB,8CAAK;AAC3B,uBAAuB,8CAAK;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,MAAM,gEAAe;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEe,uFAAwB,E;;;;;;;;;;;;ACjGvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;;AAER;;AAErB,0HAAY,E;;;;;;;;;;;;ACL3B;AAAA;AAAA;AAA4B;;AAEb;AACf,MAAM,8CAAK;AACX;AACA;;AAEA,YAAY,8CAAK;AACjB;AACA;AACA,mCAAmC,2BAA2B;AAC9D,wBAAwB,8CAAK;AAC7B;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,C;;;;;;;;;;;;ACnGA;AAAA;AAAA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAEzI;;AAEjI;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4EAAqB;AAC9C,IAAI,4EAAqB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,4EAAqB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,qEAAc;AACjC,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,qEAAc;AAChB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,oCAAoC,uEAAgB;AACvD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE,cAAc;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,uCAAuC;AACvC,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA,sEAAsE,eAAe;AACrF;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEe,oEAAK,E;;;;;;;;;;;ACtkBpB;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,wDAAa;;AAEnC;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mBAAmB;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;AChDa;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;ACtbD,mBAAmB,mBAAO,CAAC,qEAAgB;AAC3C,WAAW,mBAAO,CAAC,qDAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;;;;;;;;;;;AC5FA,iBAAiB,mBAAO,CAAC,iEAAc;AACvC,WAAW,mBAAO,CAAC,qDAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,4BAA4B;AAC3C,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,mBAAmB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpFA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,YAAY;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3CA,yBA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AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA,SAAS,mBAAO,CAAC,yCAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,aAAa,mBAAO,CAAC,iDAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;ACxBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,aAAa,mBAAO,CAAC,mDAAW;AAChC,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,WAAW,mBAAO,CAAC,6CAAQ;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;AC1KA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,oBAAoB,mB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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACXA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,uDAAa;AACpC,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;AACnC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3DA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,0BAA0B,mBAAO,CAAC,6EAAwB;AAC1D,eAAe,mBAAO,CAAC,qDAAY;AACnC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,eAAe,mBAAO,CAAC,qDAAY;AACnC,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,8BAA8B,mBAAO,CAAC,qFAA4B;;AAElE;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,UAAU,mBAAO,CAAC,2CAAO;AACzB,YAAY,mBAAO,CAAC,+CAAS;AAC7B,YAAY,mBAAO,CAAC,iDAAU;AAC9B,yBAAyB,mBAAO,CAAC,2EAAuB;AACxD,8BAA8B,mBAAO,CAAC,qFAA4B;AAClE,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,YAAY,mBAAO,CAAC,iDAAU;AAC9B,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,cAAc,mBAAO,CAAC,qDAAY;AAClC,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,eAAe,mBAAO,CAAC,qDAAY;AACnC,aAAa,mBAAO,CAAC,iDAAU;AAC/B,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACzCA,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,cAAc,mBAAO,CAAC,mDAAW;AACjC,wBAAwB,mBAAO,CAAC,uEAAqB;AACrD,eAAe,mBAAO,CAAC,qDAAY;AACnC,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,qDAAY;AACnC,oBAAoB,mBAAO,CAAC,+DAAiB;AAC7C,mBAAmB,mBAAO,CAAC,6DAAgB;AAC3C,cAAc,mBAAO,CAAC,qDAAY;AAClC,oBAAoB,mBAAO,CAAC,+DAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7FA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,eAAe,mBAAO,CAAC,uDAAa;AACpC,cAAc,mBAAO,CAAC,qDAAY;AAClC,eAAe,mBAAO,CAAC,qDAAY;AACnC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9CA,eAAe,mBAAO,CAAC,qDAAY;AACnC,qBAAqB,mBAAO,CAAC,mEAAmB;AAChD,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,mDAAW;AAChC,eAAe,mBAAO,CAAC,uDAAa;AACpC,cAAc,mBAAO,CAAC,mDAAW;AACjC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,eAAe,mBAAO,CAAC,uDAAa;AACpC,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,wBAAwB,mBAAO,CAAC,yEAAsB;AACtD,eAAe,mBAAO,CAAC,uDAAa;AACpC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvEA,eAAe,mBAAO,CAAC,uDAAa;AACpC,WAAW,mBAAO,CAAC,6CAAQ;AAC3B,aAAa,mBAAO,CAAC,mDAAW;AAChC,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClFA,aAAa,mBAAO,CAAC,mDAAW;AAChC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,SAAS,mBAAO,CAAC,yCAAM;AACvB,kBAAkB,mBAAO,CAAC,6DAAgB;AAC1C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/GA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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ACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,+DAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;;AC7BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA,cAAc,mBAAO,CAAC,qDAAY;AAClC,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AChBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACjBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,UAAU,mBAAO,CAAC,6CAAQ;AAC1B,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,oBAAoB,mBAAO,CAAC,iEAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;;;;;AC1BA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,yDAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,WAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA,MAAM,+CAA+C;AACrD,MAAM,gDAAgD;AACtD,MAAM;AACN;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA;AACA,kBAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM;AACN;AACA;AACA,mCAAmC,2BAA2B,EAAE;AAChE;AACA;AACA;AACA,uBAAuB,kCAAkC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtDA,kBAAkB,mBAAO,CAAC,6DAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,cAAc,mBAAO,CAAC,qDAAY;AAClC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,yDAAc;AACvC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,kBAAkB,mBAAO,CAAC,2DAAe;AACzC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA,yDAAW,mBAAO,CAAC,+CAAS;AAC5B,gBAAgB,mBAAO,CAAC,uDAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACrCA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,eAAe,mBAAO,CAAC,uDAAa;AACpC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,oBAAoB,mBAAO,CAAC,iEAAkB;AAC9C,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,kBAAkB,mBAAO,CAAC,2DAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,uDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACxEA,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA,YAAY,SAAS,GAAG,SAAS;AACjC;AACA;AACA;AACA,YAAY,SAAS,GAAG,SAAS;AACjC;AACA;AACA;AACA,UAAU,QAAQ,iBAAiB,GAAG,iBAAiB;AACvD;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,uDAAa;AACpC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,eAAe,mBAAO,CAAC,uDAAa;AACpC,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,sBAAsB,mBAAO,CAAC,qEAAoB;AAClD,eAAe,mBAAO,CAAC,uDAAa;AACpC,mBAAmB,mBAAO,CAAC,+DAAiB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACxDA,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,uBAAuB,mBAAO,CAAC,uEAAqB;AACpD,YAAY,mBAAO,CAAC,iDAAU;AAC9B,YAAY,mBAAO,CAAC,iDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzCA,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACnCA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AAEA,CAAC;;AAED;;;;;;;;;;;;;ACnCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;ACvLtC,wDAAU,mBAAO,CAAC,8EAAiB;AACnC;AACA;AACA;AACA;AACA;;AAEA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA,aAAa;AACb,qCAAqC,UAAU;AAC/C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC1EA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,EAAE;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,EAAE;AACrB,qBAAqB;AACrB;AACA;AACA,iCAAiC,YAAY;AAC7C,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gCAAgC,6BAA6B,EAAE,aAAa;AAC5G,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,qDAAqD,mCAAmC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAiE;AACnG;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,8CAA8C;AAC9C,CAAC;AACD;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA,eAAe,yBAAyB;AACxC;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,oEAAK,EAAC;;;;;;;;;;;;;AC/5BrB;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzLD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,oBAAoB;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,8B;;;;;;;;;;;ACRA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAO,CAAC,iEAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9DA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;;AC1qCY;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;;;;;;;;;;;AC3DA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA,oD;;;;;;;;;;;ACAA,iD","file":"antd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"), require(\"moment\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\", \"moment\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"antd\"] = factory(require(\"vue\"), require(\"moment\"));\n\telse\n\t\troot[\"antd\"] = factory(root[\"Vue\"], root[\"moment\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_vue__, __WEBPACK_EXTERNAL_MODULE_moment__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","var map = {\n\t\"./affix/style/index.js\": \"./components/affix/style/index.js\",\n\t\"./alert/style/index.js\": \"./components/alert/style/index.js\",\n\t\"./anchor/style/index.js\": \"./components/anchor/style/index.js\",\n\t\"./auto-complete/style/index.js\": \"./components/auto-complete/style/index.js\",\n\t\"./avatar/style/index.js\": \"./components/avatar/style/index.js\",\n\t\"./back-top/style/index.js\": \"./components/back-top/style/index.js\",\n\t\"./badge/style/index.js\": \"./components/badge/style/index.js\",\n\t\"./breadcrumb/style/index.js\": \"./components/breadcrumb/style/index.js\",\n\t\"./button/style/index.js\": \"./components/button/style/index.js\",\n\t\"./calendar/style/index.js\": \"./components/calendar/style/index.js\",\n\t\"./card/style/index.js\": \"./components/card/style/index.js\",\n\t\"./carousel/style/index.js\": \"./components/carousel/style/index.js\",\n\t\"./cascader/style/index.js\": \"./components/cascader/style/index.js\",\n\t\"./checkbox/style/index.js\": \"./components/checkbox/style/index.js\",\n\t\"./col/style/index.js\": \"./components/col/style/index.js\",\n\t\"./collapse/style/index.js\": \"./components/collapse/style/index.js\",\n\t\"./comment/style/index.js\": \"./components/comment/style/index.js\",\n\t\"./config-provider/style/index.js\": \"./components/config-provider/style/index.js\",\n\t\"./date-picker/style/index.js\": \"./components/date-picker/style/index.js\",\n\t\"./divider/style/index.js\": \"./components/divider/style/index.js\",\n\t\"./drawer/style/index.js\": \"./components/drawer/style/index.js\",\n\t\"./dropdown/style/index.js\": \"./components/dropdown/style/index.js\",\n\t\"./form/style/index.js\": \"./components/form/style/index.js\",\n\t\"./grid/style/index.js\": \"./components/grid/style/index.js\",\n\t\"./icon/style/index.js\": \"./components/icon/style/index.js\",\n\t\"./input-number/style/index.js\": \"./components/input-number/style/index.js\",\n\t\"./input/style/index.js\": \"./components/input/style/index.js\",\n\t\"./layout/style/index.js\": \"./components/layout/style/index.js\",\n\t\"./list/style/index.js\": \"./components/list/style/index.js\",\n\t\"./locale-provider/style/index.js\": \"./components/locale-provider/style/index.js\",\n\t\"./menu/style/index.js\": \"./components/menu/style/index.js\",\n\t\"./message/style/index.js\": \"./components/message/style/index.js\",\n\t\"./modal/style/index.js\": \"./components/modal/style/index.js\",\n\t\"./notification/style/index.js\": \"./components/notification/style/index.js\",\n\t\"./pagination/style/index.js\": \"./components/pagination/style/index.js\",\n\t\"./popconfirm/style/index.js\": \"./components/popconfirm/style/index.js\",\n\t\"./popover/style/index.js\": \"./components/popover/style/index.js\",\n\t\"./progress/style/index.js\": \"./components/progress/style/index.js\",\n\t\"./radio/style/index.js\": \"./components/radio/style/index.js\",\n\t\"./rate/style/index.js\": \"./components/rate/style/index.js\",\n\t\"./row/style/index.js\": \"./components/row/style/index.js\",\n\t\"./select/style/index.js\": \"./components/select/style/index.js\",\n\t\"./skeleton/style/index.js\": \"./components/skeleton/style/index.js\",\n\t\"./slider/style/index.js\": \"./components/slider/style/index.js\",\n\t\"./spin/style/index.js\": \"./components/spin/style/index.js\",\n\t\"./steps/style/index.js\": \"./components/steps/style/index.js\",\n\t\"./switch/style/index.js\": \"./components/switch/style/index.js\",\n\t\"./table/style/index.js\": \"./components/table/style/index.js\",\n\t\"./tabs/style/index.js\": \"./components/tabs/style/index.js\",\n\t\"./tag/style/index.js\": \"./components/tag/style/index.js\",\n\t\"./time-picker/style/index.js\": \"./components/time-picker/style/index.js\",\n\t\"./timeline/style/index.js\": \"./components/timeline/style/index.js\",\n\t\"./tooltip/style/index.js\": \"./components/tooltip/style/index.js\",\n\t\"./transfer/style/index.js\": \"./components/transfer/style/index.js\",\n\t\"./tree-select/style/index.js\": \"./components/tree-select/style/index.js\",\n\t\"./tree/style/index.js\": \"./components/tree/style/index.js\",\n\t\"./upload/style/index.js\": \"./components/upload/style/index.js\",\n\t\"./version/style/index.js\": \"./components/version/style/index.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./components sync recursive ^\\\\.\\\\/[^_][\\\\w-]+\\\\/style\\\\/index\\\\.js?$\";","export default {\n // directives: {\n // ref: {\n // bind: function (el, binding, vnode) {\n // binding.value(vnode.componentInstance ? vnode.componentInstance : vnode.elm)\n // },\n // update: function (el, binding, vnode) {\n // binding.value(vnode.componentInstance ? vnode.componentInstance : vnode.elm)\n // },\n // unbind: function (el, binding, vnode) {\n // binding.value(null)\n // },\n // },\n // },\n methods: {\n setState(state, callback) {\n const newState = typeof state === 'function' ? state(this.$data, this.$props) : state;\n // if (this.getDerivedStateFromProps) {\n // Object.assign(newState, this.getDerivedStateFromProps(getOptionProps(this), { ...this.$data, ...newState }, true) || {})\n // }\n Object.assign(this.$data, newState);\n this.$nextTick(() => {\n callback && callback();\n });\n },\n __emit() {\n // 直接调用listeners,底层组件不需要vueTool记录events\n const args = [].slice.call(arguments, 0);\n const filterEvent = [];\n const eventName = args[0];\n if (args.length && this.$listeners[eventName]) {\n if (filterEvent.includes(eventName)) {\n this.$emit(eventName, ...args.slice(1));\n } else {\n this.$listeners[eventName](...args.slice(1));\n }\n }\n },\n },\n};\n","import Vue from 'vue';\nimport PropTypes from './vue-types';\n\nexport default {\n props: {\n autoMount: PropTypes.bool.def(true),\n autoDestroy: PropTypes.bool.def(true),\n visible: PropTypes.bool,\n forceRender: PropTypes.bool.def(false),\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n },\n\n mounted() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n updated() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n beforeDestroy() {\n if (this.autoDestroy) {\n this.removeContainer();\n }\n },\n methods: {\n removeContainer() {\n if (this.container) {\n this._component && this._component.$destroy();\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n }\n },\n\n renderComponent(props = {}, ready) {\n const { visible, forceRender, getContainer, parent } = this;\n const self = this;\n if (visible || parent.$refs._component || forceRender) {\n let el = this.componentEl;\n if (!this.container) {\n this.container = getContainer();\n el = document.createElement('div');\n this.componentEl = el;\n this.container.appendChild(el);\n }\n\n if (!this._component) {\n this._component = new Vue({\n el: el,\n parent: self.parent,\n data: {\n comProps: props,\n },\n mounted() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n render() {\n return self.getComponent(this.comProps);\n },\n });\n } else {\n this._component.comProps = props;\n }\n }\n },\n },\n\n render() {\n return this.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer,\n });\n },\n};\n","import addDOMEventListener from 'add-dom-event-listener';\n\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n return addDOMEventListener(target, eventType, cb, option);\n}\n","export default function contains(root, n) {\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}\n","export function antDecorator(Vue) {\n return Vue.directive('decorator', {});\n}\n\nexport default {\n // just for tag\n install: Vue => {\n antDecorator(Vue);\n },\n};\n","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n const keyCode = e.keyCode;\n if (\n (e.altKey && !e.ctrlKey) ||\n e.metaKey ||\n // Function keys don't generate text\n (keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)\n ) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nexport default KeyCode;\n","/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\nexport const inBrowser = typeof window !== 'undefined';\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => map[val.toLowerCase()] : val => map[val];\n}\nconst isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd(e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) return;\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger(el, type) {\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', () => {\n const el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nexport function antInput(Vue) {\n return Vue.directive('ant-input', {\n inserted(el, binding, vnode) {\n if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n if (!binding.modifiers || !binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antInput(Vue);\n },\n};\n","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @returns {function|null}\n */\nexport default function createChainedFunction() {\n const args = [].slice.call(arguments, 0);\n if (args.length === 1) {\n return args[0];\n }\n\n return function chainedFunction() {\n for (let i = 0; i < args.length; i++) {\n if (args[i] && args[i].apply) {\n args[i].apply(this, arguments);\n }\n }\n };\n}\n","const START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart',\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart',\n },\n};\n\nconst END_EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd',\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd',\n },\n};\n\nconst startEvents = [];\nconst endEvents = [];\n\nfunction detectEvents() {\n const testEl = document.createElement('div');\n const style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\n for (const baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n const baseEvents = EVENT_NAME_MAP[baseEventName];\n for (const styleName in baseEvents) {\n if (styleName in style) {\n events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nconst TransitionEvents = {\n // Start events\n startEvents,\n\n addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(startEvent => {\n addEventListener(node, startEvent, eventListener);\n });\n },\n\n removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(startEvent => {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n // End events\n endEvents,\n\n addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(endEvent => {\n addEventListener(node, endEvent, eventListener);\n });\n },\n\n removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(endEvent => {\n removeEventListener(node, endEvent, eventListener);\n });\n },\n};\n\nexport default TransitionEvents;\n","// https://github.com/yiminghe/css-animation 1.5.0\n\nimport Event from './Event';\nimport classes from 'component-classes';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../requestAnimationTimeout';\n\nconst isCssAnimationSupported = Event.endEvents.length !== 0;\nconst capitalPrefixes = [\n 'Webkit',\n 'Moz',\n 'O',\n // ms is special .... !\n 'ms',\n];\nconst prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n const style = window.getComputedStyle(node, null);\n let ret = '';\n for (let i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n if (ret) {\n break;\n }\n }\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n const transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n const transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n const animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n const animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n const time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(() => {\n node.rcEndAnimTimeout = null;\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nconst cssAnimation = (node, transitionName, endCallback) => {\n const nameIsObj = typeof transitionName === 'object';\n const className = nameIsObj ? transitionName.name : transitionName;\n const activeClassName = nameIsObj ? transitionName.active : `${transitionName}-active`;\n let end = endCallback;\n let start;\n let active;\n const nodeClasses = classes(node);\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n nodeClasses.remove(className);\n nodeClasses.remove(activeClassName);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (end) {\n end();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n nodeClasses.add(className);\n\n node.rcAnimTimeout = requestAnimationTimeout(() => {\n node.rcAnimTimeout = null;\n nodeClasses.add(activeClassName);\n if (active) {\n requestAnimationTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n },\n };\n};\n\ncssAnimation.style = (node, style, callback) => {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (callback) {\n callback();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n node.rcAnimTimeout = requestAnimationTimeout(() => {\n for (const s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = (node, p, value) => {\n let property = p;\n let v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(prefix => {\n node.style[`${prefix}Transition${property}`] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;\n","export const inBrowser = typeof window !== 'undefined';\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\n","const availablePrefixs = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill() {\n let lastTime = 0;\n return function(callback) {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = window.setTimeout(function() {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\n\nexport default function getRequestAnimationFrame() {\n if (typeof window === 'undefined') {\n return () => {};\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\nexport function cancelRequestAnimationFrame(id) {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixs.filter(\n key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window,\n )[0];\n\n return prefix\n ? (\n window[`${prefix}CancelAnimationFrame`] || window[`${prefix}CancelRequestAnimationFrame`]\n ).call(this, id)\n : clearTimeout(id);\n}\n","export default function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow = target === window;\n\n let ret = isWindow ? target[prop] : target[method];\n // ie6,7,8 standard mode\n if (isWindow && typeof ret !== 'number') {\n ret = window.document.documentElement[method];\n }\n\n return ret;\n}\n","let cached;\n\nexport default function getScrollBarSize(fresh) {\n if (fresh || cached === undefined) {\n const inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n const outer = document.createElement('div');\n const outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n const widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n let widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n","import animate from './css-animation';\nconst noop = () => {};\nconst getTransitionProps = (transitionName, opt = {}) => {\n const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag } = opt;\n const transitionProps = {\n props: {\n appear,\n css: false,\n },\n on: {\n beforeEnter: beforeEnter || noop,\n enter:\n enter ||\n ((el, done) => {\n animate(el, `${transitionName}-enter`, done);\n }),\n afterEnter: afterEnter || noop,\n leave:\n leave ||\n ((el, done) => {\n animate(el, `${transitionName}-leave`, done);\n }),\n afterLeave: afterLeave || noop,\n },\n };\n // transition-group\n if (tag) {\n transitionProps.tag = tag;\n }\n return transitionProps;\n};\n\nexport default getTransitionProps;\n","// https://github.com/moment/moment/issues/3650\nexport default function interopDefault(m) {\n return m.default || m;\n}\n","export default function isFlexSupported() {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const { documentElement } = window.document;\n return (\n 'flex' in documentElement.style ||\n 'webkitFlex' in documentElement.style ||\n 'Flex' in documentElement.style ||\n 'msFlex' in documentElement.style\n );\n }\n return false;\n}\n","const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\nexport default isNumeric;\n","import cssAnimation from './css-animation';\nimport raf from 'raf';\n\nfunction animate(node, show, done) {\n let height;\n let requestAnimationFrameId;\n let appearRequestAnimationFrameId;\n return cssAnimation(node, 'ant-motion-collapse', {\n start() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n node.style.opacity = '1';\n } else {\n height = node.offsetHeight;\n // not get offsetHeight when appear\n // set it into raf get correct offsetHeight\n if (height === 0) {\n appearRequestAnimationFrameId = raf(() => {\n height = node.offsetHeight;\n node.style.height = '0px';\n node.style.opacity = '0';\n });\n } else {\n node.style.height = '0px';\n node.style.opacity = '0';\n }\n }\n },\n active() {\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n requestAnimationFrameId = raf(() => {\n node.style.height = `${show ? height : 0}px`;\n node.style.opacity = show ? '1' : '0';\n });\n },\n end() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n node.style.height = '';\n node.style.opacity = '';\n done && done();\n },\n });\n}\n\nconst animation = {\n enter(node, done) {\n return animate(node, true, done);\n },\n leave(node, done) {\n return animate(node, false, done);\n },\n};\n\nexport default animation;\n","import isPlainObject from 'lodash/isPlainObject';\nimport classNames from 'classnames';\nfunction getType(fn) {\n const match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n}\n\nconst camelizeRE = /-(\\w)/g;\nconst camelize = str => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n};\nconst parseStyleText = (cssText = '', camel) => {\n const res = {};\n const listDelimiter = /;(?![^(]*\\))/g;\n const propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function(item) {\n if (item) {\n const tmp = item.split(propertyDelimiter);\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();\n res[k] = tmp[1].trim();\n }\n }\n });\n return res;\n};\n\nconst hasProp = (instance, prop) => {\n const $options = instance.$options || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst slotHasProp = (slot, prop) => {\n const $options = slot.componentOptions || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst filterProps = (props, propsData = {}) => {\n const res = {};\n Object.keys(props).forEach(k => {\n if (k in propsData || props[k] !== undefined) {\n res[k] = props[k];\n }\n });\n return res;\n};\nconst getSlots = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n const children = ele.children || componentOptions.children || [];\n const slots = {};\n children.forEach(child => {\n if (!isEmptyElement(child)) {\n const name = (child.data && child.data.slot) || 'default';\n slots[name] = slots[name] || [];\n slots[name].push(child);\n }\n });\n return slots;\n};\nconst getAllChildren = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return ele.children || componentOptions.children || [];\n};\nconst getSlotOptions = ele => {\n if (ele.fnOptions) {\n // 函数式组件\n return ele.fnOptions;\n }\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.Ctor.options || {} : {};\n};\nconst getOptionProps = instance => {\n if (instance.componentOptions) {\n const componentOptions = instance.componentOptions;\n const { propsData = {}, Ctor = {} } = componentOptions;\n const props = (Ctor.options || {}).props || {};\n const res = {};\n for (const [k, v] of Object.entries(props)) {\n const def = v.default;\n if (def !== undefined) {\n res[k] =\n typeof def === 'function' && getType(v.type) !== 'Function' ? def.call(instance) : def;\n }\n }\n return { ...res, ...propsData };\n }\n const { $options = {}, $props = {} } = instance;\n return filterProps($props, $options.propsData);\n};\n\nconst getComponentFromProp = (instance, prop, options = instance, execute = true) => {\n if (instance.$createElement) {\n const h = instance.$createElement;\n const temp = instance[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n return (\n instance.$slots[prop] ||\n (instance.$scopedSlots[prop] && execute && instance.$scopedSlots[prop](options)) ||\n instance.$scopedSlots[prop] ||\n undefined\n );\n } else {\n const h = instance.context.$createElement;\n const temp = getPropsData(instance)[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === prop) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n};\n\nconst getAllProps = ele => {\n let data = ele.data || {};\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n data = ele.$vnode.data || {};\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return { ...data.props, ...data.attrs, ...componentOptions.propsData };\n};\n\nconst getPropsData = ele => {\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.propsData || {} : {};\n};\nconst getValueByProp = (ele, prop) => {\n return getPropsData(ele)[prop];\n};\n\nconst getAttrs = ele => {\n let data = ele.data;\n if (ele.$vnode) {\n data = ele.$vnode.data;\n }\n return data ? data.attrs || {} : {};\n};\n\nconst getKey = ele => {\n let key = ele.key;\n if (ele.$vnode) {\n key = ele.$vnode.key;\n }\n return key;\n};\n\nexport function getEvents(child) {\n let events = {};\n if (child.componentOptions && child.componentOptions.listeners) {\n events = child.componentOptions.listeners;\n } else if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\nexport function getClass(ele) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n const tempCls = data.class || {};\n const staticClass = data.staticClass;\n let cls = {};\n staticClass &&\n staticClass.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n if (typeof tempCls === 'string') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(tempCls)) {\n classNames(tempCls)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n return cls;\n}\nexport function getStyle(ele, camel) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n let style = data.style || data.staticStyle;\n if (typeof style === 'string') {\n style = parseStyleText(style, camel);\n } else if (camel && style) {\n // 驼峰化\n const res = {};\n Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));\n return res;\n }\n return style;\n}\n\nexport function getComponentName(opts) {\n return opts && (opts.Ctor.options.name || opts.tag);\n}\n\nexport function isEmptyElement(c) {\n return !(c.tag || (c.text && c.text.trim() !== ''));\n}\n\nexport function filterEmpty(children = []) {\n return children.filter(c => !isEmptyElement(c));\n}\nconst initDefaultProps = (propTypes, defaultProps) => {\n Object.keys(defaultProps).forEach(k => {\n if (propTypes[k]) {\n propTypes[k].def && (propTypes[k] = propTypes[k].def(defaultProps[k]));\n } else {\n throw new Error(`not have ${k} prop`);\n }\n });\n return propTypes;\n};\n\nexport function mergeProps() {\n const args = [].slice.call(arguments, 0);\n const props = {};\n args.forEach((p = {}) => {\n for (const [k, v] of Object.entries(p)) {\n props[k] = props[k] || {};\n if (isPlainObject(v)) {\n Object.assign(props[k], v);\n } else {\n props[k] = v;\n }\n }\n });\n return props;\n}\n\nfunction isValidElement(element) {\n return (\n element &&\n typeof element === 'object' &&\n 'componentOptions' in element &&\n 'context' in element &&\n element.tag !== undefined\n ); // remove text node\n}\n\nexport {\n hasProp,\n filterProps,\n getOptionProps,\n getComponentFromProp,\n getSlotOptions,\n slotHasProp,\n getPropsData,\n getKey,\n getAttrs,\n getValueByProp,\n parseStyleText,\n initDefaultProps,\n isValidElement,\n camelize,\n getSlots,\n getAllProps,\n getAllChildren,\n};\nexport default hasProp;\n","import PropTypes from './vue-types';\nimport { getOptionProps } from './props-util';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\nexport default function wrapWithConnect(WrappedComponent) {\n const tempProps = WrappedComponent.props || {};\n const methods = WrappedComponent.methods || {};\n const props = {};\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...k, required: false };\n });\n WrappedComponent.props.__propsSymbol__ = PropTypes.any;\n WrappedComponent.props.children = PropTypes.array.def([]);\n const ProxyWrappedComponent = {\n props,\n model: WrappedComponent.model,\n name: `Proxy_${getDisplayName(WrappedComponent)}`,\n methods: {\n getProxyWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $listeners, $slots = {}, $attrs, $scopedSlots } = this;\n const props = getOptionProps(this);\n const wrapProps = {\n props: {\n ...props,\n __propsSymbol__: Symbol(),\n componentWillReceiveProps: { ...props },\n children: $slots.default || props.children || [],\n },\n on: $listeners,\n attrs: $attrs,\n };\n if (Object.keys($scopedSlots).length) {\n wrapProps.scopedSlots = $scopedSlots;\n }\n const slotsKey = Object.keys($slots);\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </WrappedComponent>\n );\n },\n };\n Object.keys(methods).map(m => {\n ProxyWrappedComponent.methods[m] = function() {\n return this.getProxyWrappedInstance()[m](...arguments);\n };\n });\n return ProxyWrappedComponent;\n}\n","import raf from 'raf';\n\nlet id = 0;\nconst ids = {};\n\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback, delayFrames = 1) {\n const myId = id++;\n let restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[id];\n } else {\n ids[id] = raf(internalCallback);\n }\n }\n\n ids[id] = raf(internalCallback);\n\n return myId;\n}\n\nwrapperRaf.cancel = function(id) {\n raf.cancel(ids[id]);\n delete ids[id];\n};\n","import getRequestAnimationFrame, {\n cancelRequestAnimationFrame as caf,\n} from './getRequestAnimationFrame';\nconst raf = getRequestAnimationFrame();\n\nexport const cancelAnimationTimeout = frame => caf(frame.id);\n\nexport const requestAnimationTimeout = (callback, delay) => {\n const start = Date.now();\n function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = raf(timeout);\n }\n }\n\n const frame = {\n id: raf(timeout),\n };\n\n return frame;\n};\n","import PropTypes from '../vue-types';\n\nexport const storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n setState: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired,\n});\n","import { storeShape } from './PropTypes';\nexport default {\n name: 'StoreProvider',\n props: {\n store: storeShape.isRequired,\n },\n provide() {\n return {\n storeContext: this.$props,\n };\n },\n render() {\n return this.$slots.default[0];\n },\n};\n","import shallowEqual from 'shallowequal';\nimport omit from 'omit.js';\nimport { getOptionProps } from '../props-util';\nimport PropTypes from '../vue-types';\nimport proxyComponent from '../proxyComponent';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\n\nconst defaultMapStateToProps = () => ({});\nexport default function connect(mapStateToProps) {\n const shouldSubscribe = !!mapStateToProps;\n const finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n const tempProps = omit(WrappedComponent.props || {}, ['store']);\n const props = {\n __propsSymbol__: PropTypes.any,\n };\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...k, required: false };\n });\n const Connect = {\n name: `Connect_${getDisplayName(WrappedComponent)}`,\n props,\n inject: {\n storeContext: { default: () => ({}) },\n },\n data() {\n this.store = this.storeContext.store;\n this.preProps = omit(getOptionProps(this), ['__propsSymbol__']);\n return {\n subscribed: finnalMapStateToProps(this.store.getState(), this.$props),\n };\n },\n watch: {\n __propsSymbol__() {\n if (mapStateToProps && mapStateToProps.length === 2) {\n this.subscribed = finnalMapStateToProps(this.store.getState(), this.$props);\n }\n },\n },\n mounted() {\n this.trySubscribe();\n },\n\n beforeDestroy() {\n this.tryUnsubscribe();\n },\n methods: {\n handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n const props = omit(getOptionProps(this), ['__propsSymbol__']);\n const nextSubscribed = finnalMapStateToProps(this.store.getState(), props);\n if (\n !shallowEqual(this.preProps, props) ||\n !shallowEqual(this.subscribed, nextSubscribed)\n ) {\n this.subscribed = nextSubscribed;\n }\n },\n\n trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n },\n\n tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n },\n getWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n this.preProps = { ...this.$props };\n const { $listeners, $slots = {}, $attrs, $scopedSlots, subscribed, store } = this;\n const props = getOptionProps(this);\n this.preProps = { ...omit(props, ['__propsSymbol__']) };\n const wrapProps = {\n props: {\n ...props,\n ...subscribed,\n store,\n },\n on: $listeners,\n attrs: $attrs,\n scopedSlots: $scopedSlots,\n };\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {Object.keys($slots).map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })}\n </WrappedComponent>\n );\n },\n };\n return proxyComponent(Connect);\n };\n}\n","export default function create(initialState) {\n let state = initialState;\n const listeners = [];\n\n function setState(partial) {\n state = { ...state, ...partial };\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n const index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState,\n getState,\n subscribe,\n };\n}\n","export { default as Provider } from './Provider';\n\nexport { default as connect } from './connect';\n\nexport { default as create } from './create';\n","import raf from 'raf';\n\nexport default function throttleByAnimationFrame(fn) {\n let requestId;\n\n const later = args => () => {\n requestId = null;\n fn(...args);\n };\n\n const throttled = (...args) => {\n if (requestId == null) {\n requestId = raf(later(args));\n }\n };\n\n throttled.cancel = () => raf.cancel(requestId);\n\n return throttled;\n}\n\nexport function throttleByAnimationFrameDecorator() {\n return function(target, key, descriptor) {\n const fn = descriptor.value;\n let definingProperty = false;\n return {\n configurable: true,\n get() {\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n const boundFn = throttleByAnimationFrame(fn.bind(this));\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true,\n });\n definingProperty = false;\n return boundFn;\n },\n };\n };\n}\n","export default function triggerEvent(el, type) {\n if ('createEvent' in document) {\n // modern browsers, IE9+\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, false, true);\n el.dispatchEvent(e);\n }\n}\n","import { filterEmpty, parseStyleText } from './props-util';\nexport function cloneVNode(vnode, deep) {\n const componentOptions = vnode.componentOptions;\n const data = vnode.data;\n\n let listeners = {};\n if (componentOptions && componentOptions.listeners) {\n listeners = { ...componentOptions.listeners };\n }\n\n let on = {};\n if (data && data.on) {\n on = { ...data.on };\n }\n\n const cloned = new vnode.constructor(\n vnode.tag,\n data ? { ...data, on } : data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n componentOptions ? { ...componentOptions, listeners } : componentOptions,\n vnode.asyncFactory,\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n if (deep) {\n if (vnode.children) {\n cloned.children = cloneVNodes(vnode.children, true);\n }\n if (componentOptions && componentOptions.children) {\n componentOptions.children = cloneVNodes(componentOptions.children, true);\n }\n }\n return cloned;\n}\n\nexport function cloneVNodes(vnodes, deep) {\n const len = vnodes.length;\n const res = new Array(len);\n for (let i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\nexport function cloneElement(n, nodeProps = {}, deep) {\n let ele = n;\n if (Array.isArray(n)) {\n ele = filterEmpty(n)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, deep);\n const { props = {}, key, on = {}, children, directives = [] } = nodeProps;\n const data = node.data || {};\n let cls = {};\n let style = {};\n const {\n attrs = {},\n ref,\n domProps = {},\n style: tempStyle = {},\n class: tempCls = {},\n scopedSlots = {},\n } = nodeProps;\n\n if (typeof data.style === 'string') {\n style = parseStyleText(data.style);\n } else {\n style = { ...data.style, ...style };\n }\n if (typeof tempStyle === 'string') {\n style = { ...style, ...parseStyleText(style) };\n } else {\n style = { ...style, ...tempStyle };\n }\n\n if (typeof data.class === 'string' && data.class.trim() !== '') {\n data.class.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...data.class, ...cls };\n }\n if (typeof tempCls === 'string' && tempCls.trim() !== '') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n node.data = Object.assign({}, data, {\n style,\n attrs: { ...data.attrs, ...attrs },\n class: cls,\n domProps: { ...data.domProps, ...domProps },\n scopedSlots: { ...data.scopedSlots, ...scopedSlots },\n directives: [...(data.directives || []), ...directives],\n });\n\n if (node.componentOptions) {\n node.componentOptions.propsData = node.componentOptions.propsData || {};\n node.componentOptions.listeners = node.componentOptions.listeners || {};\n node.componentOptions.propsData = { ...node.componentOptions.propsData, ...props };\n node.componentOptions.listeners = { ...node.componentOptions.listeners, ...on };\n if (children) {\n node.componentOptions.children = children;\n }\n } else {\n node.data.on = { ...(node.data.on || {}), ...on };\n }\n\n if (key !== undefined) {\n node.key = key;\n node.data.key = key;\n }\n if (typeof ref === 'string') {\n node.data.ref = ref;\n }\n return node;\n}\n","import isPlainObject from 'lodash/isPlainObject';\nimport { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils';\n\nconst VuePropTypes = {\n get any() {\n return toType('any', {\n type: null,\n });\n },\n\n get func() {\n return toType('function', {\n type: Function,\n }).def(currentDefaults.func);\n },\n\n get bool() {\n return toType('boolean', {\n type: Boolean,\n }).def(currentDefaults.bool);\n },\n\n get string() {\n return toType('string', {\n type: String,\n }).def(currentDefaults.string);\n },\n\n get number() {\n return toType('number', {\n type: Number,\n }).def(currentDefaults.number);\n },\n\n get array() {\n return toType('array', {\n type: Array,\n }).def(currentDefaults.array);\n },\n\n get object() {\n return toType('object', {\n type: Object,\n }).def(currentDefaults.object);\n },\n\n get integer() {\n return toType('integer', {\n type: Number,\n validator(value) {\n return isInteger(value);\n },\n }).def(currentDefaults.integer);\n },\n\n get symbol() {\n return toType('symbol', {\n type: null,\n validator(value) {\n return typeof value === 'symbol';\n },\n });\n },\n\n custom(validatorFn, warnMsg = 'custom validation failed') {\n if (typeof validatorFn !== 'function') {\n throw new TypeError('[VueTypes error]: You must provide a function as argument');\n }\n\n return toType(validatorFn.name || '<<anonymous function>>', {\n validator(...args) {\n const valid = validatorFn(...args);\n if (!valid) warn(`${this._vueTypes_name} - ${warnMsg}`);\n return valid;\n },\n });\n },\n\n oneOf(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n const msg = `oneOf - value should be one of \"${arr.join('\", \"')}\"`;\n const allowedTypes = arr.reduce((ret, v) => {\n if (v !== null && v !== undefined) {\n ret.indexOf(v.constructor) === -1 && ret.push(v.constructor);\n }\n return ret;\n }, []);\n\n return toType('oneOf', {\n type: allowedTypes.length > 0 ? allowedTypes : null,\n validator(value) {\n const valid = arr.indexOf(value) !== -1;\n if (!valid) warn(msg);\n return valid;\n },\n });\n },\n\n instanceOf(instanceConstructor) {\n return toType('instanceOf', {\n type: instanceConstructor,\n });\n },\n\n oneOfType(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n\n let hasCustomValidators = false;\n\n const nativeChecks = arr.reduce((ret, type) => {\n if (isPlainObject(type)) {\n if (type._vueTypes_name === 'oneOf') {\n return ret.concat(type.type || []);\n }\n if (type.type && !isFunction(type.validator)) {\n if (isArray(type.type)) return ret.concat(type.type);\n ret.push(type.type);\n } else if (isFunction(type.validator)) {\n hasCustomValidators = true;\n }\n return ret;\n }\n ret.push(type);\n return ret;\n }, []);\n\n if (!hasCustomValidators) {\n // we got just native objects (ie: Array, Object)\n // delegate to Vue native prop check\n return toType('oneOfType', {\n type: nativeChecks,\n }).def(undefined);\n }\n\n const typesStr = arr\n .map(type => {\n if (type && isArray(type.type)) {\n return type.type.map(getType);\n }\n return getType(type);\n })\n .reduce((ret, type) => ret.concat(isArray(type) ? type : [type]), [])\n .join('\", \"');\n\n return this.custom(function oneOfType(value) {\n const valid = arr.some(type => {\n if (type._vueTypes_name === 'oneOf') {\n return type.type ? validateType(type.type, value, true) : true;\n }\n return validateType(type, value, true);\n });\n if (!valid) warn(`oneOfType - value type should be one of \"${typesStr}\"`);\n return valid;\n }).def(undefined);\n },\n\n arrayOf(type) {\n return toType('arrayOf', {\n type: Array,\n validator(values) {\n const valid = values.every(value => validateType(type, value));\n if (!valid) warn(`arrayOf - value must be an array of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n objectOf(type) {\n return toType('objectOf', {\n type: Object,\n validator(obj) {\n const valid = Object.keys(obj).every(key => validateType(type, obj[key]));\n if (!valid) warn(`objectOf - value must be an object of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n shape(obj) {\n const keys = Object.keys(obj);\n const requiredKeys = keys.filter(key => obj[key] && obj[key].required === true);\n\n const type = toType('shape', {\n type: Object,\n validator(value) {\n if (!isPlainObject(value)) {\n return false;\n }\n const valueKeys = Object.keys(value);\n\n // check for required keys (if any)\n if (requiredKeys.length > 0 && requiredKeys.some(req => valueKeys.indexOf(req) === -1)) {\n warn(\n `shape - at least one of required properties \"${requiredKeys.join(\n '\", \"',\n )}\" is not present`,\n );\n return false;\n }\n\n return valueKeys.every(key => {\n if (keys.indexOf(key) === -1) {\n if (this._vueTypes_isLoose === true) return true;\n warn(`shape - object is missing \"${key}\" property`);\n return false;\n }\n const type = obj[key];\n return validateType(type, value[key]);\n });\n },\n });\n\n Object.defineProperty(type, '_vueTypes_isLoose', {\n enumerable: false,\n writable: true,\n value: false,\n });\n\n Object.defineProperty(type, 'loose', {\n get() {\n this._vueTypes_isLoose = true;\n return this;\n },\n enumerable: false,\n });\n\n return type;\n },\n};\n\nconst typeDefaults = () => ({\n func: undefined,\n bool: undefined,\n string: undefined,\n number: undefined,\n array: undefined,\n object: undefined,\n integer: undefined,\n});\n\nlet currentDefaults = typeDefaults();\n\nObject.defineProperty(VuePropTypes, 'sensibleDefaults', {\n enumerable: false,\n set(value) {\n if (value === false) {\n currentDefaults = {};\n } else if (value === true) {\n currentDefaults = typeDefaults();\n } else if (isPlainObject(value)) {\n currentDefaults = value;\n }\n },\n get() {\n return currentDefaults;\n },\n});\n\nexport default VuePropTypes;\n","import isPlainObject from 'lodash/isPlainObject';\n\nconst ObjProto = Object.prototype;\nconst toString = ObjProto.toString;\nexport const hasOwn = ObjProto.hasOwnProperty;\n\nconst FN_MATCH_REGEXP = /^\\s*function (\\w+)/;\n\n// https://github.com/vuejs/vue/blob/dev/src/core/util/props.js#L159\nexport const getType = fn => {\n const type = fn !== null && fn !== undefined ? (fn.type ? fn.type : fn) : null;\n const match = type && type.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\nexport const getNativeType = value => {\n if (value === null || value === undefined) return null;\n const match = value.constructor.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\n/**\n * No-op function\n */\nexport const noop = () => {};\n\n/**\n * Checks for a own property in an object\n *\n * @param {object} obj - Object\n * @param {string} prop - Property to check\n */\nexport const has = (obj, prop) => hasOwn.call(obj, prop);\n\n/**\n * Determines whether the passed value is an integer. Uses `Number.isInteger` if available\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\n * @param {*} value - The value to be tested for being an integer.\n * @returns {boolean}\n */\nexport const isInteger =\n Number.isInteger ||\n function(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n\n/**\n * Determines whether the passed value is an Array.\n *\n * @param {*} value - The value to be tested for being an array.\n * @returns {boolean}\n */\nexport const isArray =\n Array.isArray ||\n function(value) {\n return toString.call(value) === '[object Array]';\n };\n\n/**\n * Checks if a value is a function\n *\n * @param {any} value - Value to check\n * @returns {boolean}\n */\nexport const isFunction = value => toString.call(value) === '[object Function]';\n\n/**\n * Adds a `def` method to the object returning a new object with passed in argument as `default` property\n *\n * @param {object} type - Object to enhance\n */\nexport const withDefault = function(type) {\n Object.defineProperty(type, 'def', {\n value(def) {\n if (def === undefined && this.default === undefined) {\n this.default = undefined;\n return this;\n }\n if (!isFunction(def) && !validateType(this, def)) {\n warn(`${this._vueTypes_name} - invalid default value: \"${def}\"`, def);\n return this;\n }\n this.default =\n isArray(def) || isPlainObject(def)\n ? function() {\n return def;\n }\n : def;\n\n return this;\n },\n enumerable: false,\n writable: false,\n });\n};\n\n/**\n * Adds a `isRequired` getter returning a new object with `required: true` key-value\n *\n * @param {object} type - Object to enhance\n */\nexport const withRequired = function(type) {\n Object.defineProperty(type, 'isRequired', {\n get() {\n this.required = true;\n return this;\n },\n enumerable: false,\n });\n};\n\n/**\n * Adds `isRequired` and `def` modifiers to an object\n *\n * @param {string} name - Type internal name\n * @param {object} obj - Object to enhance\n * @returns {object}\n */\nexport const toType = (name, obj) => {\n Object.defineProperty(obj, '_vueTypes_name', {\n enumerable: false,\n writable: false,\n value: name,\n });\n withRequired(obj);\n withDefault(obj);\n\n if (isFunction(obj.validator)) {\n obj.validator = obj.validator.bind(obj);\n }\n return obj;\n};\n\n/**\n * Validates a given value against a prop type object\n *\n * @param {Object|*} type - Type to use for validation. Either a type object or a constructor\n * @param {*} value - Value to check\n * @param {boolean} silent - Silence warnings\n * @returns {boolean}\n */\nexport const validateType = (type, value, silent = false) => {\n let typeToCheck = type;\n let valid = true;\n let expectedType;\n if (!isPlainObject(type)) {\n typeToCheck = { type };\n }\n const namePrefix = typeToCheck._vueTypes_name ? typeToCheck._vueTypes_name + ' - ' : '';\n\n if (hasOwn.call(typeToCheck, 'type') && typeToCheck.type !== null) {\n if (isArray(typeToCheck.type)) {\n valid = typeToCheck.type.some(type => validateType(type, value, true));\n expectedType = typeToCheck.type.map(type => getType(type)).join(' or ');\n } else {\n expectedType = getType(typeToCheck);\n\n if (expectedType === 'Array') {\n valid = isArray(value);\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (\n expectedType === 'String' ||\n expectedType === 'Number' ||\n expectedType === 'Boolean' ||\n expectedType === 'Function'\n ) {\n valid = getNativeType(value) === expectedType;\n } else {\n valid = value instanceof typeToCheck.type;\n }\n }\n }\n\n if (!valid) {\n silent === false && warn(`${namePrefix}value \"${value}\" should be of type \"${expectedType}\"`);\n return false;\n }\n\n if (hasOwn.call(typeToCheck, 'validator') && isFunction(typeToCheck.validator)) {\n valid = typeToCheck.validator(value);\n if (!valid && silent === false) warn(`${namePrefix}custom validation failed`);\n return valid;\n }\n return valid;\n};\n\nlet warn = noop;\n\nif (process.env.NODE_ENV !== 'production') {\n const hasConsole = typeof console !== 'undefined';\n warn = msg => {\n if (hasConsole) {\n console.warn(`[VueTypes warn]: ${msg}`);\n }\n };\n}\n\nexport { warn };\n","import warning from 'warning';\n\nconst warned = {};\nexport default (valid, message) => {\n if (!valid && !warned[message]) {\n warning(false, message);\n warned[message] = true;\n }\n};\n","import TransitionEvents from './css-animation/Event';\nimport raf from '../_util/raf';\nlet styleForPesudo;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return !element || element.offsetParent === null;\n}\n\nexport default {\n name: 'Wave',\n props: ['insertExtraNode'],\n mounted() {\n this.$nextTick(() => {\n const node = this.$el;\n if (node.nodeType !== 1) {\n return;\n }\n this.instance = this.bindAnimationEvent(node);\n });\n },\n\n beforeDestroy() {\n if (this.instance) {\n this.instance.cancel();\n }\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n this.destroy = true;\n },\n methods: {\n isNotGrey(color) {\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n },\n\n onClick(node, waveColor) {\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n this.removeExtraStyleNode();\n const { insertExtraNode } = this.$props;\n this.extraNode = document.createElement('div');\n const extraNode = this.extraNode;\n extraNode.className = 'ant-click-animating-node';\n const attributeName = this.getAttributeName();\n node.removeAttribute(attributeName);\n node.setAttribute(attributeName, 'true');\n // Not white or transparnt or grey\n styleForPesudo = styleForPesudo || document.createElement('style');\n if (\n waveColor &&\n waveColor !== '#ffffff' &&\n waveColor !== 'rgb(255, 255, 255)' &&\n this.isNotGrey(waveColor) &&\n !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent'\n ) {\n extraNode.style.borderColor = waveColor;\n\n styleForPesudo.innerHTML = `[ant-click-animating-without-extra-node]:after { border-color: ${waveColor}; }`;\n if (!document.body.contains(styleForPesudo)) {\n document.body.appendChild(styleForPesudo);\n }\n }\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n TransitionEvents.addStartEventListener(node, this.onTransitionStart);\n TransitionEvents.addEndEventListener(node, this.onTransitionEnd);\n },\n\n bindAnimationEvent(node) {\n if (\n !node ||\n !node.getAttribute ||\n node.getAttribute('disabled') ||\n node.className.indexOf('disabled') >= 0\n ) {\n return;\n }\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n this.resetEffect(node);\n // Get wave color from target\n const waveColor =\n getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') ||\n getComputedStyle(node).getPropertyValue('background-color');\n this.clickWaveTimeoutId = window.setTimeout(() => this.onClick(node, waveColor), 0);\n raf.cancel(this.animationStartId);\n this.animationStart = true;\n\n // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n this.animationStartId = raf(() => {\n this.animationStart = false;\n }, 10);\n };\n node.addEventListener('click', onClick, true);\n return {\n cancel: () => {\n node.removeEventListener('click', onClick, true);\n },\n };\n },\n getAttributeName() {\n const { insertExtraNode } = this.$props;\n return insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n },\n\n resetEffect(node) {\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n const { insertExtraNode } = this.$props;\n const attributeName = this.getAttributeName();\n node.removeAttribute(attributeName);\n this.removeExtraStyleNode();\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n TransitionEvents.removeStartEventListener(node, this.onTransitionStart);\n TransitionEvents.removeEndEventListener(node, this.onTransitionEnd);\n },\n onTransitionStart(e) {\n if (this.destroy) return;\n\n const node = this.$el;\n if (!e || e.target !== node) {\n return;\n }\n\n if (!this.animationStart) {\n this.resetEffect(node);\n }\n },\n onTransitionEnd(e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n this.resetEffect(e.target);\n },\n removeExtraStyleNode() {\n if (styleForPesudo) {\n styleForPesudo.innerHTML = '';\n }\n },\n },\n\n render() {\n return this.$slots.default && this.$slots.default[0];\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport omit from 'omit.js';\nimport getScroll from '../_util/getScroll';\nimport BaseMixin from '../_util/BaseMixin';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\n\nfunction getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : { top: 0, left: 0, bottom: 0 };\n}\n\nfunction getOffset(element, target) {\n const elemRect = element.getBoundingClientRect();\n const targetRect = getTargetRect(target);\n\n const scrollTop = getScroll(target, true);\n const scrollLeft = getScroll(target, false);\n\n const docElem = window.document.body;\n const clientTop = docElem.clientTop || 0;\n const clientLeft = docElem.clientLeft || 0;\n\n return {\n top: elemRect.top - targetRect.top + scrollTop - clientTop,\n left: elemRect.left - targetRect.left + scrollLeft - clientLeft,\n width: elemRect.width,\n height: elemRect.height,\n };\n}\n\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\n\n// Affix\nconst AffixProps = {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop: PropTypes.number,\n offset: PropTypes.number,\n /** 距离窗口底部达到指定偏移量后触发 */\n offsetBottom: PropTypes.number,\n /** 固定状态改变时触发的回调函数 */\n // onChange?: (affixed?: boolean) => void;\n /** 设置 Affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数 */\n target: PropTypes.func,\n prefixCls: PropTypes.string,\n};\n\nconst Affix = {\n name: 'AAffix',\n props: AffixProps,\n mixins: [BaseMixin],\n data() {\n this.events = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\n this.eventHandlers = {};\n return {\n affixStyle: undefined,\n placeholderStyle: undefined,\n };\n },\n beforeMount() {\n this.updatePosition = throttleByAnimationFrame(this.updatePosition);\n },\n mounted() {\n const target = this.target || getDefaultTarget;\n // Wait for parent component ref has its value\n this.timeout = setTimeout(() => {\n this.setTargetEventListeners(target);\n // Mock Event object.\n this.updatePosition({});\n });\n },\n watch: {\n target(val) {\n this.clearEventListeners();\n this.setTargetEventListeners(val);\n // Mock Event object.\n this.updatePosition({});\n },\n offsetTop() {\n this.updatePosition({});\n },\n offsetBottom() {\n this.updatePosition({});\n },\n },\n beforeDestroy() {\n this.clearEventListeners();\n clearTimeout(this.timeout);\n this.updatePosition.cancel();\n },\n methods: {\n setAffixStyle(e, affixStyle) {\n const { target = getDefaultTarget } = this;\n const originalAffixStyle = this.affixStyle;\n const isWindow = target() === window;\n if (e.type === 'scroll' && originalAffixStyle && affixStyle && isWindow) {\n return;\n }\n if (shallowequal(affixStyle, originalAffixStyle)) {\n return;\n }\n this.setState({ affixStyle: affixStyle }, () => {\n const affixed = !!this.affixStyle;\n if ((affixStyle && !originalAffixStyle) || (!affixStyle && originalAffixStyle)) {\n this.$emit('change', affixed);\n }\n });\n },\n\n setPlaceholderStyle(placeholderStyle) {\n const originalPlaceholderStyle = this.placeholderStyle;\n if (shallowequal(placeholderStyle, originalPlaceholderStyle)) {\n return;\n }\n this.setState({ placeholderStyle: placeholderStyle });\n },\n syncPlaceholderStyle(e) {\n const { affixStyle } = this;\n if (!affixStyle) {\n return;\n }\n this.$refs.placeholderNode.style.cssText = '';\n this.setAffixStyle(e, {\n ...affixStyle,\n width: this.$refs.placeholderNode.offsetWidth + 'px',\n });\n this.setPlaceholderStyle({\n width: this.$refs.placeholderNode.offsetWidth + 'px',\n });\n },\n\n updatePosition(e) {\n const { offsetBottom, offset, target = getDefaultTarget } = this;\n let { offsetTop } = this;\n const targetNode = target();\n\n // Backwards support\n // Fix: if offsetTop === 0, it will get undefined,\n // if offsetBottom is type of number, offsetMode will be { top: false, ... }\n offsetTop = typeof offsetTop === 'undefined' ? offset : offsetTop;\n const scrollTop = getScroll(targetNode, true);\n const affixNode = this.$el;\n const elemOffset = getOffset(affixNode, targetNode);\n const elemSize = {\n width: this.$refs.fixedNode.offsetWidth,\n height: this.$refs.fixedNode.offsetHeight,\n };\n\n const offsetMode = {\n top: false,\n bottom: false,\n };\n // Default to `offsetTop=0`.\n if (typeof offsetTop !== 'number' && typeof offsetBottom !== 'number') {\n offsetMode.top = true;\n offsetTop = 0;\n } else {\n offsetMode.top = typeof offsetTop === 'number';\n offsetMode.bottom = typeof offsetBottom === 'number';\n }\n\n const targetRect = getTargetRect(targetNode);\n const targetInnerHeight = targetNode.innerHeight || targetNode.clientHeight;\n if (scrollTop > elemOffset.top - offsetTop && offsetMode.top) {\n // Fixed Top\n const width = `${elemOffset.width}px`;\n const top = `${targetRect.top + offsetTop}px`;\n this.setAffixStyle(e, {\n position: 'fixed',\n top,\n left: `${targetRect.left + elemOffset.left}px`,\n width,\n });\n this.setPlaceholderStyle({\n width,\n height: `${elemSize.height}px`,\n });\n } else if (\n scrollTop < elemOffset.top + elemSize.height + offsetBottom - targetInnerHeight &&\n offsetMode.bottom\n ) {\n // Fixed Bottom\n const targetBottomOffet =\n targetNode === window ? 0 : window.innerHeight - targetRect.bottom;\n const width = `${elemOffset.width}px`;\n this.setAffixStyle(e, {\n position: 'fixed',\n bottom: targetBottomOffet + offsetBottom + 'px',\n left: targetRect.left + elemOffset.left + 'px',\n width,\n });\n this.setPlaceholderStyle({\n width,\n height: elemOffset.height + 'px',\n });\n } else {\n const { affixStyle } = this;\n if (\n e.type === 'resize' &&\n affixStyle &&\n affixStyle.position === 'fixed' &&\n affixNode.offsetWidth\n ) {\n this.setAffixStyle(e, { ...affixStyle, width: affixNode.offsetWidth + 'px' });\n } else {\n this.setAffixStyle(e, null);\n }\n this.setPlaceholderStyle(null);\n }\n if (e.type === 'resize') {\n this.syncPlaceholderStyle(e);\n }\n },\n setTargetEventListeners(getTarget) {\n const target = getTarget();\n if (!target) {\n return;\n }\n this.clearEventListeners();\n\n this.events.forEach(eventName => {\n this.eventHandlers[eventName] = addEventListener(target, eventName, this.updatePosition);\n });\n },\n\n clearEventListeners() {\n this.events.forEach(eventName => {\n const handler = this.eventHandlers[eventName];\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n },\n },\n\n render() {\n const { prefixCls, affixStyle, placeholderStyle, $slots, $props } = this;\n const className = classNames({\n [prefixCls || 'ant-affix']: affixStyle,\n });\n\n const props = {\n attrs: omit($props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target']),\n };\n return (\n <div {...props} style={placeholderStyle} ref=\"placeholderNode\">\n <div class={className} ref=\"fixedNode\" style={affixStyle}>\n {$slots.default}\n </div>\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nAffix.install = function(Vue) {\n Vue.component(Affix.name, Affix);\n};\n\nexport default Affix;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from '../icon';\nimport classNames from 'classnames';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { getComponentFromProp, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nfunction noop() {}\nexport const AlertProps = {\n /**\n * Type of Alert styles, options:`success`, `info`, `warning`, `error`\n */\n type: PropTypes.oneOf(['success', 'info', 'warning', 'error']),\n /** Whether Alert can be closed */\n closable: PropTypes.bool,\n /** Close text to show */\n closeText: PropTypes.any,\n /** Content of Alert */\n message: PropTypes.any,\n /** Additional content of Alert */\n description: PropTypes.any,\n /** Callback when close Alert */\n // onClose?: React.MouseEventHandler<HTMLAnchorElement>;\n /** Trigger when animation ending of Alert */\n afterClose: PropTypes.func.def(noop),\n /** Whether to show icon */\n showIcon: PropTypes.bool,\n iconType: PropTypes.string,\n prefixCls: PropTypes.string,\n banner: PropTypes.bool,\n icon: PropTypes.any,\n};\n\nconst Alert = {\n props: AlertProps,\n mixins: [BaseMixin],\n name: 'AAlert',\n data() {\n return {\n closing: true,\n closed: false,\n };\n },\n methods: {\n handleClose(e) {\n e.preventDefault();\n const dom = this.$el;\n dom.style.height = `${dom.offsetHeight}px`;\n // Magic code\n // 重复一次后才能正确设置 height\n dom.style.height = `${dom.offsetHeight}px`;\n\n this.setState({\n closing: false,\n });\n this.$emit('close', e);\n },\n animationEnd() {\n this.setState({\n closed: true,\n closing: true,\n });\n this.afterClose();\n },\n },\n\n render() {\n const { prefixCls = 'ant-alert', banner, closing, closed } = this;\n let { closable, type, showIcon, iconType } = this;\n const closeText = getComponentFromProp(this, 'closeText');\n const description = getComponentFromProp(this, 'description');\n const message = getComponentFromProp(this, 'message');\n const icon = getComponentFromProp(this, 'icon');\n // banner模式默认有 Icon\n showIcon = banner && showIcon === undefined ? true : showIcon;\n // banner模式默认为警告\n type = banner && type === undefined ? 'warning' : type || 'info';\n let iconTheme = 'filled';\n // should we give a warning?\n // warning(!iconType, `The property 'iconType' is deprecated. Use the property 'icon' instead.`);\n if (!iconType) {\n switch (type) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'info':\n iconType = 'info-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n default:\n iconType = 'default';\n }\n\n // use outline icon in alert with description\n if (description) {\n iconTheme = 'outlined';\n }\n }\n\n // closeable when closeText is assigned\n if (closeText) {\n closable = true;\n }\n\n const alertCls = classNames(prefixCls, {\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-close`]: !closing,\n [`${prefixCls}-with-description`]: !!description,\n [`${prefixCls}-no-icon`]: !showIcon,\n [`${prefixCls}-banner`]: !!banner,\n [`${prefixCls}-closable`]: closable,\n });\n\n const closeIcon = closable ? (\n <a onClick={this.handleClose} class={`${prefixCls}-close-icon`}>\n {closeText || <Icon type=\"close\" />}\n </a>\n ) : null;\n\n const iconNode = (icon &&\n (isValidElement(icon) ? (\n cloneElement(icon, {\n class: `${prefixCls}-icon`,\n })\n ) : (\n <span class={`${prefixCls}-icon`}>{icon}</span>\n ))) || <Icon class={`${prefixCls}-icon`} type={iconType} theme={iconTheme} />;\n\n const transitionProps = getTransitionProps(`${prefixCls}-slide-up`, {\n appear: false,\n afterLeave: this.animationEnd,\n });\n return closed ? null : (\n <transition {...transitionProps}>\n <div v-show={closing} class={alertCls} data-show={closing}>\n {showIcon ? iconNode : null}\n <span class={`${prefixCls}-message`}>{message}</span>\n <span class={`${prefixCls}-description`}>{description}</span>\n {closeIcon}\n </div>\n </transition>\n );\n },\n};\n\n/* istanbul ignore next */\nAlert.install = function(Vue) {\n Vue.component(Alert.name, Alert);\n};\n\nexport default Alert;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport Affix from '../affix';\nimport getScroll from '../_util/getScroll';\nimport raf from 'raf';\nimport { initDefaultProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\nfunction easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n}\n\nconst sharpMatcherRegx = /#([^#]+)$/;\nfunction scrollTo(href, offsetTop = 0, getContainer, callback = () => {}) {\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const sharpLinkMatch = sharpMatcherRegx.exec(href);\n if (!sharpLinkMatch) {\n return;\n }\n const targetElement = document.getElementById(sharpLinkMatch[1]);\n if (!targetElement) {\n return;\n }\n const eleOffsetTop = getOffsetTop(targetElement, container);\n const targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < 450) {\n raf(frameFunc);\n } else {\n callback();\n }\n };\n raf(frameFunc);\n}\n\nexport const AnchorProps = {\n prefixCls: PropTypes.string,\n offsetTop: PropTypes.number,\n bounds: PropTypes.number,\n affix: PropTypes.bool,\n showInkInFixed: PropTypes.bool,\n getContainer: PropTypes.func,\n wrapperClass: PropTypes.string,\n wrapperStyle: PropTypes.object,\n};\n\nexport default {\n name: 'AAnchor',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(AnchorProps, {\n prefixCls: 'ant-anchor',\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer,\n }),\n\n data() {\n this.links = [];\n return {\n activeLink: null,\n };\n },\n provide() {\n return {\n antAnchor: {\n registerLink: link => {\n if (!this.links.includes(link)) {\n this.links.push(link);\n }\n },\n unregisterLink: link => {\n const index = this.links.indexOf(link);\n if (index !== -1) {\n this.links.splice(index, 1);\n }\n },\n $data: this.$data,\n scrollTo: this.handleScrollTo,\n },\n antAnchorContext: this,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n const { getContainer } = this;\n this.scrollEvent = addEventListener(getContainer(), 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n\n updated() {\n this.$nextTick(() => {\n this.updateInk();\n });\n },\n methods: {\n handleScroll() {\n if (this.animating) {\n return;\n }\n const { offsetTop, bounds } = this;\n this.setState({\n activeLink: this.getCurrentAnchor(offsetTop, bounds),\n });\n },\n\n handleScrollTo(link) {\n const { offsetTop, getContainer } = this;\n this.animating = true;\n this.setState({ activeLink: link });\n scrollTo(link, offsetTop, getContainer, () => {\n this.animating = false;\n });\n },\n\n getCurrentAnchor(offsetTop = 0, bounds = 5) {\n const activeLink = '';\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n const linkSections = [];\n const { getContainer } = this;\n const container = getContainer();\n this.links.forEach(link => {\n const sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = document.getElementById(sharpLinkMatch[1]);\n if (target) {\n const top = getOffsetTop(target, container);\n if (top < offsetTop + bounds) {\n linkSections.push({\n link,\n top,\n });\n }\n }\n });\n\n if (linkSections.length) {\n const maxSection = linkSections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n return maxSection.link;\n }\n return '';\n },\n\n updateInk() {\n if (typeof document === 'undefined') {\n return;\n }\n const { prefixCls } = this;\n const linkNode = this.$el.getElementsByClassName(`${prefixCls}-link-title-active`)[0];\n if (linkNode) {\n this.$refs.linkNode.style.top = `${linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5}px`;\n }\n },\n },\n\n render() {\n const { prefixCls, offsetTop, affix, showInkInFixed, activeLink, $slots, getContainer } = this;\n\n const inkClass = classNames(`${prefixCls}-ink-ball`, {\n visible: activeLink,\n });\n\n const wrapperClass = classNames(this.wrapperClass, `${prefixCls}-wrapper`);\n\n const anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed,\n });\n\n const wrapperStyle = {\n maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh',\n ...this.wrapperStyle,\n };\n\n const anchorContent = (\n <div class={wrapperClass} style={wrapperStyle}>\n <div class={anchorClass}>\n <div class={`${prefixCls}-ink`}>\n <span class={inkClass} ref=\"linkNode\" />\n </div>\n {$slots.default}\n </div>\n </div>\n );\n\n return !affix ? (\n anchorContent\n ) : (\n <Affix offsetTop={offsetTop} target={getContainer}>\n {anchorContent}\n </Affix>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getComponentFromProp } from '../_util/props-util';\nimport classNames from 'classnames';\n\nexport const AnchorLinkProps = {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n title: PropTypes.any,\n};\n\nexport default {\n name: 'AAnchorLink',\n props: initDefaultProps(AnchorLinkProps, {\n prefixCls: 'ant-anchor',\n href: '#',\n }),\n inject: {\n antAnchor: { default: () => ({}) },\n antAnchorContext: { default: () => ({}) },\n },\n watch: {\n href(val, oldVal) {\n this.antAnchor.unregisterLink(oldVal);\n this.antAnchor.registerLink(val);\n },\n },\n\n mounted() {\n this.antAnchor.registerLink(this.href);\n },\n\n beforeDestroy() {\n this.antAnchor.unregisterLink(this.href);\n },\n methods: {\n handleClick(e) {\n this.antAnchor.scrollTo(this.href);\n const { scrollTo } = this.antAnchor;\n const { href, title } = this.$props;\n if (this.antAnchorContext.$emit) {\n this.antAnchorContext.$emit('click', e, { title, href });\n }\n scrollTo(href);\n },\n },\n render() {\n const { prefixCls, href, $slots } = this;\n const title = getComponentFromProp(this, 'title');\n const active = this.antAnchor.$data.activeLink === href;\n const wrapperClassName = classNames(`${prefixCls}-link`, {\n [`${prefixCls}-link-active`]: active,\n });\n const titleClassName = classNames(`${prefixCls}-link-title`, {\n [`${prefixCls}-link-title-active`]: active,\n });\n return (\n <div class={wrapperClassName}>\n <a\n class={titleClassName}\n href={href}\n title={typeof title === 'string' ? title : ''}\n onClick={this.handleClick}\n >\n {title}\n </a>\n {$slots.default}\n </div>\n );\n },\n};\n","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\n\nexport { AnchorProps } from './Anchor';\nexport { AnchorLinkProps } from './AnchorLink';\n\nAnchor.Link = AnchorLink;\n\n/* istanbul ignore next */\nAnchor.install = function(Vue) {\n Vue.component(Anchor.name, Anchor);\n Vue.component(Anchor.Link.name, Anchor.Link);\n};\n\nexport default Anchor;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(this, args);\n }\n }\n };\n}\nexport default {\n props: {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n },\n methods: {\n focus() {\n const ele = this.$refs.ele;\n ele.focus ? ele.focus() : this.$el.focus();\n },\n blur() {\n const ele = this.$refs.ele;\n ele.blur ? ele.blur() : this.$el.blur();\n },\n },\n\n render() {\n const { $slots = {}, $listeners = {}, $props = {}, $attrs = {} } = this;\n const value = $props.value === undefined ? '' : $props.value;\n const children = $slots.default[0];\n const { componentOptions = {} } = $slots.default[0];\n const { listeners = {} } = componentOptions;\n const newEvent = { ...listeners };\n\n for (const [eventName, event] of Object.entries($listeners)) {\n newEvent[eventName] = chaining(event, listeners[eventName]);\n }\n\n return cloneElement(children, {\n domProps: {\n value,\n },\n props: $props,\n on: newEvent,\n attrs: { ...$attrs, value },\n ref: 'ele',\n });\n },\n};\n","import { Option, OptGroup } from '../vc-select';\nimport Select, { AbstractSelectProps, SelectValue } from '../select';\nimport Input from '../input';\nimport InputElement from './InputElement';\nimport PropTypes from '../_util/vue-types';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n} from '../_util/props-util';\n\n// const DataSourceItemObject = PropTypes.shape({\n// value: String,\n// text: String,\n// }).loose\n// const DataSourceItemType = PropTypes.oneOfType([\n// PropTypes.string,\n// DataSourceItemObject,\n// ]).isRequired\n\n// export interface AutoCompleteInputProps {\n// onChange?: React.FormEventHandler<any>;\n// value: any;\n// }\n\nconst AutoCompleteProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n dataSource: PropTypes.array,\n optionLabelProp: String,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onChange?: (value: SelectValue) => void;\n // onSelect?: (value: SelectValue, option: Object) => any;\n};\n\nconst AutoComplete = {\n name: 'AAutoComplete',\n props: {\n ...AutoCompleteProps,\n prefixCls: PropTypes.string.def('ant-select'),\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n optionLabelProp: PropTypes.string.def('children'),\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]).def(false),\n defaultActiveFirstOption: PropTypes.bool.def(true),\n },\n Option: { ...Option, name: 'AAutoCompleteOption' },\n OptGroup: { ...OptGroup, name: 'AAutoCompleteOptGroup' },\n model: {\n prop: 'value',\n event: 'change',\n },\n methods: {\n getInputElement() {\n const { $slots } = this;\n const children = filterEmpty($slots.default);\n const element = children.length ? children[0] : <Input />;\n return <InputElement>{element}</InputElement>;\n },\n\n focus() {\n if (this.$refs.select) {\n this.$refs.select.focus();\n }\n },\n\n blur() {\n if (this.$refs.select) {\n this.$refs.select.blur();\n }\n },\n },\n\n render() {\n const { size, prefixCls, optionLabelProp, dataSource, $slots, $listeners } = this;\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-search`]: true,\n [`${prefixCls}-auto-complete`]: true,\n };\n\n let options;\n const childArray = filterEmpty($slots.dataSource);\n if (childArray.length) {\n options = childArray;\n } else {\n options = dataSource\n ? dataSource.map(item => {\n if (isValidElement(item)) {\n return item;\n }\n switch (typeof item) {\n case 'string':\n return <Option key={item}>{item}</Option>;\n case 'object':\n return <Option key={item.value}>{item.text}</Option>;\n default:\n throw new Error(\n 'AutoComplete[dataSource] only supports type `string[] | Object[]`.',\n );\n }\n })\n : [];\n }\n const selectProps = {\n props: {\n ...getOptionProps(this),\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp,\n getInputElement: this.getInputElement,\n notFoundContent: getComponentFromProp(this, 'notFoundContent'),\n },\n class: cls,\n ref: 'select',\n on: $listeners,\n };\n return <Select {...selectProps}>{options}</Select>;\n },\n};\n\n/* istanbul ignore next */\nAutoComplete.install = function(Vue) {\n Vue.component(AutoComplete.name, AutoComplete);\n Vue.component(AutoComplete.Option.name, AutoComplete.Option);\n Vue.component(AutoComplete.OptGroup.name, AutoComplete.OptGroup);\n};\n\nexport default AutoComplete;\n","import '../../style/index.less';\nimport './index.less';\n\nimport '../../select/style';\n","// extracted by mini-css-extract-plugin","import Icon from '../icon';\n\nexport default {\n name: 'AAvatar',\n props: {\n prefixCls: {\n type: String,\n default: 'ant-avatar',\n },\n shape: {\n validator: val => ['circle', 'square'].includes(val),\n default: 'circle',\n },\n size: {\n validator: val => {\n return typeof val === 'number' || ['small', 'large', 'default'].includes(val);\n },\n default: 'default',\n },\n src: String,\n /** Srcset of image avatar */\n srcSet: String,\n icon: String,\n alt: String,\n loadError: Function,\n },\n data() {\n return {\n isImgExist: true,\n scale: 1,\n };\n },\n mounted() {\n this.prevChildren = this.$slots.default;\n this.prevState = { ...this.$data };\n this.$nextTick(() => {\n this.setScale();\n });\n },\n updated() {\n if (\n this.preChildren !== this.$slots.default ||\n (this.prevState.scale !== this.$data.scale && this.$data.scale === 1) ||\n this.prevState.isImgExist !== this.$data.isImgExist\n ) {\n this.$nextTick(() => {\n this.setScale();\n });\n }\n this.preChildren = this.$slots.default;\n this.prevState = { ...this.$data };\n },\n methods: {\n setScale() {\n const childrenNode = this.$refs.avatarChildren;\n if (childrenNode) {\n const childrenWidth = childrenNode.offsetWidth;\n const avatarWidth = this.$el.getBoundingClientRect().width;\n if (avatarWidth - 8 < childrenWidth) {\n this.scale = (avatarWidth - 8) / childrenWidth;\n } else {\n this.scale = 1;\n }\n this.$forceUpdate();\n }\n },\n handleImgLoadError() {\n const { loadError } = this.$props;\n const errorFlag = loadError ? loadError() : undefined;\n if (errorFlag !== false) {\n this.isImgExist = false;\n }\n },\n },\n render() {\n const { prefixCls, shape, size, src, icon, alt, srcSet } = this.$props;\n\n const { isImgExist, scale } = this.$data;\n\n const sizeCls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n const classString = {\n [prefixCls]: true,\n ...sizeCls,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-image`]: src && isImgExist,\n [`${prefixCls}-icon`]: icon,\n };\n\n const sizeStyle =\n typeof size === 'number'\n ? {\n width: `${size}px`,\n height: `${size}px`,\n lineHeight: `${size}px`,\n fontSize: icon ? `${size / 2}px` : '18px',\n }\n : {};\n\n let children = this.$slots.default;\n if (src && isImgExist) {\n children = <img src={src} srcSet={srcSet} onError={this.handleImgLoadError} alt={alt} />;\n } else if (icon) {\n children = <Icon type={icon} />;\n } else {\n const childrenNode = this.$refs.avatarChildren;\n if (childrenNode || (scale !== 1 && childrenNode)) {\n const transformString = `scale(${scale}) translateX(-50%)`;\n const childrenStyle = {\n msTransform: transformString,\n WebkitTransform: transformString,\n transform: transformString,\n };\n const sizeChildrenStyle =\n typeof size === 'number'\n ? {\n lineHeight: `${size}px`,\n }\n : {};\n children = (\n <span\n class={`${prefixCls}-string`}\n ref=\"avatarChildren\"\n style={{ ...sizeChildrenStyle, ...childrenStyle }}\n >\n {children}\n </span>\n );\n } else {\n children = (\n <span class={`${prefixCls}-string`} ref=\"avatarChildren\">\n {children}\n </span>\n );\n }\n }\n return (\n <span {...{ on: this.$listeners, class: classString, style: sizeStyle }}>{children}</span>\n );\n },\n};\n","import Avatar from './Avatar';\n\n/* istanbul ignore next */\nAvatar.install = function(Vue) {\n Vue.component(Avatar.name, Avatar);\n};\n\nexport default Avatar;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport getScroll from '../_util/getScroll';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\n\nconst easeInOutCubic = (t, b, c, d) => {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n } else {\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n }\n};\n\nfunction getDefaultTarget() {\n return window;\n}\n\nconst BackTopProps = {\n visibilityHeight: PropTypes.number,\n // onClick?: React.MouseEventHandler<any>;\n target: PropTypes.func,\n prefixCls: PropTypes.string,\n};\n\nconst BackTop = {\n name: 'ABackTop',\n mixins: [BaseMixin],\n props: {\n ...BackTopProps,\n visibilityHeight: PropTypes.number.def(400),\n },\n data() {\n this.scrollEvent = null;\n return {\n visible: false,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n const getTarget = this.target || getDefaultTarget;\n this.scrollEvent = addEventListener(getTarget(), 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n methods: {\n getCurrentScrollTop() {\n const getTarget = this.target || getDefaultTarget;\n const targetNode = getTarget();\n if (targetNode === window) {\n return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n }\n return targetNode.scrollTop;\n },\n\n scrollToTop(e) {\n const scrollTop = this.getCurrentScrollTop();\n const startTime = Date.now();\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n this.setScrollTop(easeInOutCubic(time, scrollTop, 0, 450));\n if (time < 450) {\n raf(frameFunc);\n } else {\n this.setScrollTop(0);\n }\n };\n raf(frameFunc);\n this.$emit('click', e);\n },\n\n setScrollTop(value) {\n const getTarget = this.target || getDefaultTarget;\n const targetNode = getTarget();\n if (targetNode === window) {\n document.body.scrollTop = value;\n document.documentElement.scrollTop = value;\n } else {\n targetNode.scrollTop = value;\n }\n },\n\n handleScroll() {\n const { visibilityHeight, target = getDefaultTarget } = this;\n const scrollTop = getScroll(target(), true);\n this.setState({\n visible: scrollTop > visibilityHeight,\n });\n },\n },\n\n render() {\n const { prefixCls = 'ant-back-top', $slots, $listeners } = this;\n\n const defaultElement = (\n <div class={`${prefixCls}-content`}>\n <div class={`${prefixCls}-icon`} />\n </div>\n );\n const divProps = {\n on: {\n ...$listeners,\n click: this.scrollToTop,\n },\n class: prefixCls,\n };\n\n const backTopBtn = this.visible ? (\n <div {...divProps}>{$slots.default || defaultElement}</div>\n ) : null;\n const transitionProps = getTransitionProps('fade');\n return <transition {...transitionProps}>{backTopBtn}</transition>;\n },\n};\n\n/* istanbul ignore next */\nBackTop.install = function(Vue) {\n Vue.component(BackTop.name, BackTop);\n};\n\nexport default BackTop;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport ScrollNumber from './ScrollNumber';\nimport classNames from 'classnames';\nimport { initDefaultProps, filterEmpty, getComponentFromProp } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport isNumeric from '../_util/isNumeric';\n\nexport const BadgeProps = {\n /** Number to show in badge */\n count: PropTypes.any,\n showZero: PropTypes.bool,\n /** Max count to show */\n overflowCount: PropTypes.number,\n /** whether to show red dot without number */\n dot: PropTypes.bool,\n prefixCls: PropTypes.string,\n scrollNumberPrefixCls: PropTypes.string,\n status: PropTypes.oneOf(['success', 'processing', 'default', 'error', 'warning']),\n text: PropTypes.string,\n offset: PropTypes.array,\n numberStyle: PropTypes.object.def({}),\n title: PropTypes.string,\n};\n\nexport default {\n name: 'ABadge',\n props: initDefaultProps(BadgeProps, {\n prefixCls: 'ant-badge',\n scrollNumberPrefixCls: 'ant-scroll-number',\n showZero: false,\n dot: false,\n overflowCount: 99,\n }),\n methods: {\n getBadgeClassName() {\n const { prefixCls, status } = this.$props;\n const children = filterEmpty(this.$slots.default);\n return classNames(prefixCls, {\n [`${prefixCls}-status`]: !!status,\n [`${prefixCls}-not-a-wrapper`]: !children.length,\n });\n },\n\n isZero() {\n const numberedDispayCount = this.getNumberedDispayCount();\n return numberedDispayCount === '0' || numberedDispayCount === 0;\n },\n\n isDot() {\n const { dot, status } = this.$props;\n const isZero = this.isZero();\n return (dot && !isZero) || status;\n },\n\n isHidden() {\n const { showZero } = this.$props;\n const displayCount = this.getDispayCount();\n const isZero = this.isZero();\n const isDot = this.isDot();\n const isEmpty = displayCount === null || displayCount === undefined || displayCount === '';\n return (isEmpty || (isZero && !showZero)) && !isDot;\n },\n\n getNumberedDispayCount() {\n const { overflowCount } = this.$props;\n const count = this.badgeCount;\n const displayCount = count > overflowCount ? `${overflowCount}+` : count;\n return displayCount;\n },\n\n getDispayCount() {\n const isDot = this.isDot();\n // dot mode don't need count\n if (isDot) {\n return '';\n }\n return this.getNumberedDispayCount();\n },\n\n getScollNumberTitle() {\n const { title } = this.$props;\n const count = this.badgeCount;\n if (title) {\n return title;\n }\n return typeof count === 'string' || typeof count === 'number' ? count : undefined;\n },\n\n getStyleWithOffset() {\n const { offset, numberStyle } = this.$props;\n return offset\n ? {\n right: `${-parseInt(offset[0], 10)}px`,\n marginTop: isNumeric(offset[1]) ? `${offset[1]}px` : offset[1],\n ...numberStyle,\n }\n : numberStyle;\n },\n\n renderStatusText() {\n const { prefixCls, text } = this.$props;\n const hidden = this.isHidden();\n return hidden || !text ? null : <span class={`${prefixCls}-status-text`}>{text}</span>;\n },\n\n renderDispayComponent() {\n const count = this.badgeCount;\n const customNode = count;\n if (!customNode || typeof customNode !== 'object') {\n return undefined;\n }\n return cloneElement(customNode, {\n style: this.getStyleWithOffset(),\n });\n },\n\n renderBadgeNumber() {\n const { prefixCls, scrollNumberPrefixCls, status } = this.$props;\n const count = this.badgeCount;\n const displayCount = this.getDispayCount();\n const isDot = this.isDot();\n const hidden = this.isHidden();\n\n const scrollNumberCls = {\n [`${prefixCls}-dot`]: isDot,\n [`${prefixCls}-count`]: !isDot,\n [`${prefixCls}-multiple-words`]:\n !isDot && count && count.toString && count.toString().length > 1,\n [`${prefixCls}-status-${status}`]: !!status,\n };\n\n return hidden ? null : (\n <ScrollNumber\n prefixCls={scrollNumberPrefixCls}\n data-show={!hidden}\n v-show={!hidden}\n className={scrollNumberCls}\n count={displayCount}\n displayComponent={this.renderDispayComponent()} // <Badge status=\"success\" count={<Icon type=\"xxx\" />}></Badge>\n title={this.getScollNumberTitle()}\n style={this.getStyleWithOffset()}\n key=\"scrollNumber\"\n />\n );\n },\n },\n\n render() {\n const { prefixCls, status, text, $slots } = this;\n const children = filterEmpty($slots.default);\n let count = getComponentFromProp(this, 'count');\n if (Array.isArray(count)) {\n count = count[0];\n }\n this.badgeCount = count;\n const scrollNumber = this.renderBadgeNumber();\n const statusText = this.renderStatusText();\n const statusCls = classNames({\n [`${prefixCls}-status-dot`]: !!status,\n [`${prefixCls}-status-${status}`]: !!status,\n });\n\n // <Badge status=\"success\" />\n if (!children.length && status) {\n return (\n <span\n {...{ on: this.$listeners }}\n class={this.getBadgeClassName()}\n style={this.getStyleWithOffset()}\n >\n <span class={statusCls} />\n <span class={`${prefixCls}-status-text`}>{text}</span>\n </span>\n );\n }\n\n const transitionProps = getTransitionProps(children.length ? `${prefixCls}-zoom` : '');\n\n return (\n <span {...{ on: this.$listeners }} class={this.getBadgeClassName()}>\n {children}\n <transition {...transitionProps}>{scrollNumber}</transition>\n {statusText}\n </span>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getStyle } from '../_util/props-util';\nimport omit from 'omit.js';\nimport { cloneElement } from '../_util/vnode';\n\nfunction getNumberArray(num) {\n return num\n ? num\n .toString()\n .split('')\n .reverse()\n .map(i => Number(i))\n : [];\n}\n\nconst ScrollNumberProps = {\n prefixCls: PropTypes.string.def('ant-scroll-number'),\n count: PropTypes.any,\n component: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.number, PropTypes.string, null]),\n displayComponent: PropTypes.any,\n className: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ScrollNumberProps,\n data() {\n return {\n animateStarted: true,\n sCount: this.count,\n };\n },\n watch: {\n count(val) {\n if (this.sCount !== val) {\n this.lastCount = this.sCount;\n // 复原数字初始位置\n this.setState(\n {\n animateStarted: true,\n },\n () => {\n // 等待数字位置复原完毕\n // 开始设置完整的数字\n setTimeout(() => {\n this.setState(\n {\n animateStarted: false,\n sCount: val,\n },\n () => {\n this.$emit('animated');\n },\n );\n }, 5);\n },\n );\n }\n },\n },\n methods: {\n getPositionByNum(num, i) {\n if (this.animateStarted) {\n return 10 + num;\n }\n const currentDigit = getNumberArray(this.sCount)[i];\n const lastDigit = getNumberArray(this.lastCount)[i];\n // 同方向则在同一侧切换数字\n if (this.sCount > this.lastCount) {\n if (currentDigit >= lastDigit) {\n return 10 + num;\n }\n return 20 + num;\n }\n if (currentDigit <= lastDigit) {\n return 10 + num;\n }\n return num;\n },\n renderNumberList(position) {\n const childrenToReturn = [];\n for (let i = 0; i < 30; i++) {\n const currentClassName = position === i ? 'current' : '';\n childrenToReturn.push(\n <p key={i.toString()} class={currentClassName}>\n {i % 10}\n </p>,\n );\n }\n return childrenToReturn;\n },\n\n renderCurrentNumber(num, i) {\n const position = this.getPositionByNum(num, i);\n const removeTransition =\n this.animateStarted || getNumberArray(this.lastCount)[i] === undefined;\n const style = {\n transition: removeTransition ? 'none' : undefined,\n msTransform: `translateY(${-position * 100}%)`,\n WebkitTransform: `translateY(${-position * 100}%)`,\n transform: `translateY(${-position * 100}%)`,\n };\n return (\n <span class={`${this.prefixCls}-only`} style={style} key={i}>\n {this.renderNumberList(position)}\n </span>\n );\n },\n\n renderNumberElement() {\n const { sCount } = this;\n if (!sCount || isNaN(sCount)) {\n return sCount;\n }\n return getNumberArray(sCount)\n .map((num, i) => this.renderCurrentNumber(num, i))\n .reverse();\n },\n },\n\n render() {\n const { prefixCls, title, component: Tag = 'sup', displayComponent, className } = this;\n if (displayComponent) {\n return cloneElement(displayComponent, {\n class: `${prefixCls}-custom-component`,\n });\n }\n const style = getStyle(this, true);\n // fix https://fb.me/react-unknown-prop\n const restProps = omit(this.$props, ['count', 'component', 'prefixCls', 'displayComponent']);\n const newProps = {\n props: {\n ...restProps,\n },\n attrs: {\n title,\n },\n style,\n class: classNames(prefixCls, className),\n };\n // allow specify the border\n // mock border-color by box-shadow for compatible with old usage:\n // <Badge count={4} style={{ backgroundColor: '#fff', color: '#999', borderColor: '#d9d9d9' }} />\n if (style && style.borderColor) {\n newProps.style.boxShadow = `0 0 0 1px ${style.borderColor} inset`;\n }\n\n return <Tag {...newProps}>{this.renderNumberElement()}</Tag>;\n },\n};\n","import Badge from './Badge';\n\n/* istanbul ignore next */\nBadge.install = function(Vue) {\n Vue.component(Badge.name, Badge);\n};\n\nexport default Badge;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { filterEmpty, getComponentFromProp, getSlotOptions } from '../_util/props-util';\nimport warning from '../_util/warning';\nimport BreadcrumbItem from './BreadcrumbItem';\n\nconst Route = PropTypes.shape({\n path: PropTypes.string,\n breadcrumbName: PropTypes.string,\n}).loose;\n\nconst BreadcrumbProps = {\n prefixCls: PropTypes.string.def('ant-breadcrumb'),\n routes: PropTypes.arrayOf(Route),\n params: PropTypes.any,\n separator: PropTypes.any,\n itemRender: PropTypes.func,\n};\n\nfunction getBreadcrumbName(route, params) {\n if (!route.breadcrumbName) {\n return null;\n }\n const paramsKeys = Object.keys(params).join('|');\n const name = route.breadcrumbName.replace(\n new RegExp(`:(${paramsKeys})`, 'g'),\n (replacement, key) => params[key] || replacement,\n );\n return name;\n}\n\nexport default {\n name: 'ABreadcrumb',\n props: BreadcrumbProps,\n methods: {\n defaultItemRender({ route, params, routes, paths }) {\n const isLastItem = routes.indexOf(route) === routes.length - 1;\n const name = getBreadcrumbName(route, params);\n return isLastItem ? <span>{name}</span> : <a href={`#/${paths.join('/')}`}>{name}</a>;\n },\n },\n render() {\n let crumbs;\n const { prefixCls, routes, params = {}, $slots, $scopedSlots } = this;\n const children = filterEmpty($slots.default);\n const separator = getComponentFromProp(this, 'separator');\n if (routes && routes.length > 0) {\n const paths = [];\n const itemRender = this.itemRender || $scopedSlots.itemRender || this.defaultItemRender;\n crumbs = routes.map(route => {\n route.path = route.path || '';\n let path = route.path.replace(/^\\//, '');\n Object.keys(params).forEach(key => {\n path = path.replace(`:${key}`, params[key]);\n });\n if (path) {\n paths.push(path);\n }\n return (\n <BreadcrumbItem separator={separator} key={route.breadcrumbName || path}>\n {itemRender({ route, params, routes, paths })}\n </BreadcrumbItem>\n );\n });\n } else if (children.length) {\n crumbs = children.map((element, index) => {\n warning(\n getSlotOptions(element).__ANT_BREADCRUMB_ITEM,\n \"Breadcrumb only accepts Breadcrumb.Item as it's children\",\n );\n return cloneElement(element, {\n props: { separator },\n key: index,\n });\n });\n }\n return <div class={prefixCls}>{crumbs}</div>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\n\nexport default {\n name: 'ABreadcrumbItem',\n __ANT_BREADCRUMB_ITEM: true,\n props: {\n prefixCls: PropTypes.string.def('ant-breadcrumb'),\n href: PropTypes.string,\n separator: PropTypes.any,\n },\n render() {\n const { prefixCls, $slots } = this;\n const children = $slots.default;\n let link;\n if (hasProp(this, 'href')) {\n link = <a class={`${prefixCls}-link`}>{children}</a>;\n } else {\n link = <span class={`${prefixCls}-link`}>{children}</span>;\n }\n if (children) {\n return (\n <span>\n {link}\n <span class={`${prefixCls}-separator`}>\n {getComponentFromProp(this, 'separator') || '/'}\n </span>\n </span>\n );\n }\n return null;\n },\n};\n","import Breadcrumb from './Breadcrumb';\nimport BreadcrumbItem from './BreadcrumbItem';\n\nBreadcrumb.Item = BreadcrumbItem;\n\n/* istanbul ignore next */\nBreadcrumb.install = function(Vue) {\n Vue.component(Breadcrumb.name, Breadcrumb);\n Vue.component(BreadcrumbItem.name, BreadcrumbItem);\n};\n\nexport default Breadcrumb;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { filterEmpty } from '../_util/props-util';\nconst ButtonGroupProps = {\n prefixCls: {\n default: 'ant-btn-group',\n type: String,\n },\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n};\nexport { ButtonGroupProps };\nexport default {\n name: 'AButtonGroup',\n props: ButtonGroupProps,\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n };\n },\n computed: {\n classes() {\n const { prefixCls, size, sizeMap } = this;\n const sizeCls = sizeMap[size] || '';\n return [\n {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n },\n ];\n },\n },\n render() {\n const { classes, $slots } = this;\n return <div class={classes}>{filterEmpty($slots.default)}</div>;\n },\n};\n","import Wave from '../_util/wave';\nimport Icon from '../icon';\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nconst isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nimport buttonTypes from './buttonTypes';\nimport { filterEmpty } from '../_util/props-util';\nconst props = buttonTypes();\nexport default {\n name: 'AButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props,\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n // clicked: false,\n sLoading: !!this.loading,\n hasTwoCNChar: false,\n };\n },\n computed: {\n classes() {\n const {\n prefixCls,\n type,\n shape,\n size,\n hasTwoCNChar,\n sLoading,\n ghost,\n block,\n sizeMap,\n icon,\n $slots,\n } = this;\n const sizeCls = sizeMap[size] || '';\n const children = filterEmpty($slots.default);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && icon,\n [`${prefixCls}-loading`]: sLoading,\n [`${prefixCls}-background-ghost`]: ghost || type === 'ghost',\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar,\n [`${prefixCls}-block`]: block,\n };\n },\n },\n watch: {\n loading(val) {\n clearTimeout(this.delayTimeout);\n if (typeof val !== 'boolean' && val && val.delay) {\n this.delayTimeout = setTimeout(() => {\n this.sLoading = !!val;\n }, val.delay);\n } else {\n this.sLoading = !!val;\n }\n },\n },\n mounted() {\n this.fixTwoCNChar();\n },\n updated() {\n this.fixTwoCNChar();\n },\n beforeDestroy() {\n // if (this.timeout) {\n // clearTimeout(this.timeout)\n // }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n methods: {\n fixTwoCNChar() {\n // Fix for HOC usage like <FormatMessage />\n const node = this.$refs.buttonNode;\n if (!node) {\n return;\n }\n const buttonText = node.textContent || node.innerText;\n if (this.isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!this.hasTwoCNChar) {\n this.hasTwoCNChar = true;\n }\n } else if (this.hasTwoCNChar) {\n this.hasTwoCNChar = false;\n }\n },\n handleClick(event) {\n const { sLoading } = this.$data;\n if (sLoading) {\n return;\n }\n this.$emit('click', event);\n },\n insertSpace(child, needInserted) {\n const SPACE = needInserted ? ' ' : '';\n if (typeof child.text === 'string') {\n let text = child.text.trim();\n if (isTwoCNChar(text)) {\n text = text.split('').join(SPACE);\n }\n return <span>{text}</span>;\n }\n return child;\n },\n isNeedInserted() {\n const { icon, $slots } = this;\n return $slots.default && $slots.default.length === 1 && !icon;\n },\n },\n render() {\n const {\n htmlType,\n classes,\n icon,\n disabled,\n handleClick,\n sLoading,\n $slots,\n $attrs,\n $listeners,\n } = this;\n const buttonProps = {\n attrs: {\n ...$attrs,\n disabled,\n },\n class: classes,\n on: {\n ...$listeners,\n click: handleClick,\n },\n };\n const iconType = sLoading ? 'loading' : icon;\n const iconNode = iconType ? <Icon type={iconType} /> : null;\n const children = filterEmpty($slots.default);\n const kids = children.map(child => this.insertSpace(child, this.isNeedInserted()));\n\n if ($attrs.href !== undefined) {\n return (\n <a {...buttonProps} ref=\"buttonNode\">\n {iconNode}\n {kids}\n </a>\n );\n } else {\n return (\n <Wave>\n <button {...buttonProps} ref=\"buttonNode\" type={htmlType || 'button'}>\n {iconNode}\n {kids}\n </button>\n </Wave>\n );\n }\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n prefixCls: PropTypes.string.def('ant-btn'),\n type: PropTypes.oneOf(['primary', 'danger', 'dashed', 'ghost', 'default']).def('default'),\n htmlType: PropTypes.oneOf(['button', 'submit', 'reset']).def('button'),\n icon: PropTypes.string,\n shape: PropTypes.oneOf(['circle', 'circle-outline']),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n ghost: PropTypes.bool,\n block: PropTypes.bool,\n});\n","import Button from './button';\nimport ButtonGroup from './button-group';\n\nButton.Group = ButtonGroup;\n\n/* istanbul ignore next */\nButton.install = function(Vue) {\n Vue.component(Button.name, Button);\n Vue.component(ButtonGroup.name, ButtonGroup);\n};\n\nexport default Button;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","export const PREFIX_CLS = 'ant-fullcalendar';\n","import { PREFIX_CLS } from './Constants';\nimport Select from '../select';\nimport { Group, Button } from '../radio';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\nconst Option = Select.Option;\n\nexport const HeaderProps = {\n prefixCls: PropTypes.string,\n locale: PropTypes.any,\n fullscreen: PropTypes.boolean,\n yearSelectOffset: PropTypes.number,\n yearSelectTotal: PropTypes.number,\n type: PropTypes.string,\n // onValueChange: PropTypes.(value: moment.Moment) => void,\n // onTypeChange: PropTypes.(type: string) => void,\n value: PropTypes.any,\n validRange: PropTypes.array,\n};\n\nexport default {\n props: initDefaultProps(HeaderProps, {\n prefixCls: `${PREFIX_CLS}-header`,\n yearSelectOffset: 10,\n yearSelectTotal: 20,\n }),\n\n // private calenderHeaderNode: HTMLDivElement;\n methods: {\n getYearSelectElement(year) {\n const { yearSelectOffset, yearSelectTotal, locale, prefixCls, fullscreen, validRange } = this;\n let start = year - yearSelectOffset;\n let end = start + yearSelectTotal;\n if (validRange) {\n start = validRange[0].get('year');\n end = validRange[1].get('year') + 1;\n }\n const suffix = locale.year === '年' ? '年' : '';\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{index + suffix}</Option>);\n }\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-year-select`}\n onChange={this.onYearChange}\n value={String(year)}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n getMonthsLocale(value) {\n const current = value.clone();\n const localeData = value.localeData();\n const months = [];\n for (let i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.monthsShort(current));\n }\n return months;\n },\n\n getMonthSelectElement(month, months) {\n const { prefixCls, fullscreen, validRange, value } = this;\n const options = [];\n let start = 0;\n let end = 12;\n if (validRange) {\n const [rangeStart, rangeEnd] = validRange;\n const currentYear = value.get('year');\n if (rangeEnd.get('year') === currentYear) {\n end = rangeEnd.get('month') + 1;\n } else if (rangeStart.get('year') === currentYear) {\n start = rangeStart.get('month');\n }\n }\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{months[index]}</Option>);\n }\n\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-month-select`}\n value={String(month)}\n onChange={this.onMonthChange}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n onYearChange(year) {\n const { value, validRange } = this;\n const newValue = value.clone();\n newValue.year(parseInt(year, 10));\n // switch the month so that it remains within range when year changes\n if (validRange) {\n const [start, end] = validRange;\n const newYear = newValue.get('year');\n const newMonth = newValue.get('month');\n if (newYear === end.get('year') && newMonth > end.get('month')) {\n newValue.month(end.get('month'));\n }\n if (newYear === start.get('year') && newMonth < start.get('month')) {\n newValue.month(start.get('month'));\n }\n }\n this.$emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.$emit('valueChange', newValue);\n },\n\n onTypeChange(e) {\n this.$emit('typeChange', e.target.value);\n },\n\n getCalenderHeaderNode() {\n return this.$refs.calenderHeaderNode;\n },\n },\n\n render() {\n const { type, value, prefixCls, locale, fullscreen } = this;\n const yearSelect = this.getYearSelectElement(value.year());\n const monthSelect =\n type === 'date'\n ? this.getMonthSelectElement(value.month(), this.getMonthsLocale(value))\n : null;\n const size = fullscreen ? 'default' : 'small';\n const typeSwitch = (\n <Group onChange={this.onTypeChange} value={type} size={size}>\n <Button value=\"date\">{locale.month}</Button>\n <Button value=\"month\">{locale.year}</Button>\n </Group>\n );\n\n return (\n <div class={`${prefixCls}-header`} ref=\"calenderHeaderNode\">\n {yearSelect}\n {monthSelect}\n {typeSwitch}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, hasProp, initDefaultProps } from '../_util/props-util';\nimport * as moment from 'moment';\nimport FullCalendar from '../vc-calendar/src/FullCalendar';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { PREFIX_CLS } from './Constants';\nimport Header from './Header';\nimport interopDefault from '../_util/interopDefault';\nimport enUS from './locale/en_US';\n\nexport { HeaderProps } from './Header';\n\nfunction noop() {\n return null;\n}\n\nfunction zerofixed(v) {\n if (v < 10) {\n return `0${v}`;\n }\n return `${v}`;\n}\nexport const MomentType = {\n type: Object,\n validator: function(value) {\n return moment.isMoment(value);\n },\n};\nfunction isMomentArray(value) {\n return Array.isArray(value) && !!value.find(val => moment.isMoment(val));\n}\nexport const CalendarMode = PropTypes.oneOf(['month', 'year']);\n\nexport const CalendarProps = () => ({\n prefixCls: PropTypes.string,\n value: MomentType,\n defaultValue: MomentType,\n mode: CalendarMode,\n fullscreen: PropTypes.bool,\n // dateCellRender: PropTypes.func,\n // monthCellRender: PropTypes.func,\n // dateFullCellRender: PropTypes.func,\n // monthFullCellRender: PropTypes.func,\n locale: PropTypes.object,\n // onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;\n // onSelect?: (date?: moment.Moment) => void;\n disabledDate: PropTypes.func,\n validRange: PropTypes.custom(isMomentArray),\n});\n\nconst Calendar = {\n name: 'ACalendar',\n mixins: [BaseMixin],\n props: initDefaultProps(CalendarProps(), {\n locale: {},\n fullscreen: true,\n prefixCls: PREFIX_CLS,\n mode: 'month',\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n data() {\n const value = this.value || this.defaultValue || interopDefault(moment)();\n if (!interopDefault(moment).isMoment(value)) {\n throw new Error('The value/defaultValue of Calendar must be a moment object, ');\n }\n return {\n sValue: value,\n sMode: this.mode,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n mode(val) {\n this.setState({\n sMode: val,\n });\n },\n },\n methods: {\n monthCellRender2(value) {\n const { prefixCls, $scopedSlots } = this;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender || noop;\n return (\n <div class={`${prefixCls}-month`}>\n <div class={`${prefixCls}-value`}>{value.localeData().monthsShort(value)}</div>\n <div class={`${prefixCls}-content`}>{monthCellRender(value)}</div>\n </div>\n );\n },\n\n dateCellRender2(value) {\n const { prefixCls, $scopedSlots } = this;\n const dateCellRender = this.dateCellRender || $scopedSlots.dateCellRender || noop;\n return (\n <div class={`${prefixCls}-date`}>\n <div class={`${prefixCls}-value`}>{zerofixed(value.date())}</div>\n <div class={`${prefixCls}-content`}>{dateCellRender(value)}</div>\n </div>\n );\n },\n\n setValue(value, way) {\n if (way === 'select') {\n this.$emit('select', value);\n } else if (way === 'changePanel') {\n this.onPanelChange(value, this.sMode);\n }\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n },\n\n setType(type) {\n const mode = type === 'date' ? 'month' : 'year';\n if (this.sMode !== mode) {\n this.setState({ sMode: mode });\n this.onPanelChange(this.sValue, mode);\n }\n },\n\n onHeaderValueChange(value) {\n this.setValue(value, 'changePanel');\n },\n\n onHeaderTypeChange(type) {\n this.setType(type);\n },\n\n onPanelChange(value, mode) {\n this.$emit('panelChange', value, mode);\n if (value !== this.sValue) {\n this.$emit('change', value);\n }\n },\n\n onSelect(value) {\n this.setValue(value, 'select');\n },\n getDateRange(validRange, disabledDate) {\n return current => {\n if (!current) {\n return false;\n }\n const [startDate, endDate] = validRange;\n const inRange = !current.isBetween(startDate, endDate, 'days', '[]');\n if (disabledDate) {\n return disabledDate(current) || inRange;\n }\n return inRange;\n };\n },\n\n renderCalendar(locale, localeCode) {\n const props = getOptionProps(this);\n const { sValue: value, sMode: mode, $listeners, $scopedSlots } = this;\n if (value && localeCode) {\n value.locale(localeCode);\n }\n const { prefixCls, fullscreen, dateFullCellRender, monthFullCellRender } = props;\n const type = mode === 'year' ? 'month' : 'date';\n\n let cls = '';\n if (fullscreen) {\n cls += ` ${prefixCls}-fullscreen`;\n }\n\n const monthCellRender =\n monthFullCellRender || $scopedSlots.monthFullCellRender || this.monthCellRender2;\n const dateCellRender =\n dateFullCellRender || $scopedSlots.dateFullCellRender || this.dateCellRender2;\n\n let disabledDate = props.disabledDate;\n\n if (props.validRange) {\n disabledDate = this.getDateRange(props.validRange, disabledDate);\n }\n const fullCalendarProps = {\n props: {\n ...props,\n Select: {},\n locale: locale.lang,\n type: type,\n prefixCls: prefixCls,\n showHeader: false,\n value: value,\n monthCellRender: monthCellRender,\n dateCellRender: dateCellRender,\n disabledDate,\n },\n on: {\n ...$listeners,\n select: this.onSelect,\n },\n };\n return (\n <div class={cls}>\n <Header\n fullscreen={fullscreen}\n type={type}\n value={value}\n locale={locale.lang}\n prefixCls={prefixCls}\n onTypeChange={this.onHeaderTypeChange}\n onValueChange={this.onHeaderValueChange}\n validRange={props.validRange}\n />\n <FullCalendar {...fullCalendarProps} />\n </div>\n );\n },\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.$props.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.$props.locale || {}).lang,\n };\n return result;\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"Calendar\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderCalendar }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nCalendar.install = function(Vue) {\n Vue.component(Calendar.name, Calendar);\n};\n\nexport default Calendar;\n","import en_US from '../../date-picker/locale/en_US';\nexport default en_US;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../radio/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport { getComponentFromProp, getSlotOptions, filterEmpty } from '../_util/props-util';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst { TabPane } = Tabs;\nexport default {\n name: 'ACard',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('ant-card'),\n title: PropTypes.any,\n extra: PropTypes.any,\n bordered: PropTypes.bool.def(true),\n bodyStyle: PropTypes.object,\n headStyle: PropTypes.object,\n loading: PropTypes.bool.def(false),\n hoverable: PropTypes.bool.def(false),\n type: PropTypes.string,\n actions: PropTypes.any,\n tabList: PropTypes.array,\n activeTabKey: PropTypes.string,\n defaultActiveTabKey: PropTypes.string,\n },\n data() {\n this.updateWiderPaddingCalled = false;\n return {\n widerPadding: false,\n };\n },\n beforeMount() {\n this.updateWiderPadding = throttleByAnimationFrame(this.updateWiderPadding);\n },\n mounted() {\n this.updateWiderPadding();\n this.resizeEvent = addEventListener(window, 'resize', this.updateWiderPadding);\n },\n beforeDestroy() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n this.updateWiderPadding.cancel && this.updateWiderPadding.cancel();\n },\n methods: {\n updateWiderPadding() {\n const cardContainerRef = this.$refs.cardContainerRef;\n if (!cardContainerRef) {\n return;\n }\n // 936 is a magic card width pixel number indicated by designer\n const WIDTH_BOUNDARY_PX = 936;\n if (cardContainerRef.offsetWidth >= WIDTH_BOUNDARY_PX && !this.widerPadding) {\n this.setState({ widerPadding: true }, () => {\n this.updateWiderPaddingCalled = true; // first render without css transition\n });\n }\n if (cardContainerRef.offsetWidth < WIDTH_BOUNDARY_PX && this.widerPadding) {\n this.setState({ widerPadding: false }, () => {\n this.updateWiderPaddingCalled = true; // first render without css transition\n });\n }\n },\n onHandleTabChange(key) {\n this.$emit('tabChange', key);\n },\n isContainGrid(obj = []) {\n let containGrid;\n obj.forEach(element => {\n if (element && getSlotOptions(element).__ANT_CARD_GRID) {\n containGrid = true;\n }\n });\n return containGrid;\n },\n getAction(actions) {\n if (!actions || !actions.length) {\n return null;\n }\n const actionList = actions.map((action, index) => (\n <li style={{ width: `${100 / actions.length}%` }} key={`action-${index}`}>\n <span>{action}</span>\n </li>\n ));\n return actionList;\n },\n },\n render() {\n const {\n prefixCls = 'ant-card',\n headStyle = {},\n bodyStyle = {},\n loading,\n bordered = true,\n type,\n tabList,\n hoverable,\n activeTabKey,\n defaultActiveTabKey,\n } = this.$props;\n\n const { $slots, $scopedSlots, $listeners } = this;\n\n const classString = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-hoverable`]: !!hoverable,\n [`${prefixCls}-wider-padding`]: this.widerPadding,\n [`${prefixCls}-padding-transition`]: this.updateWiderPaddingCalled,\n [`${prefixCls}-contain-grid`]: this.isContainGrid($slots.default),\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\n [`${prefixCls}-type-${type}`]: !!type,\n };\n\n const loadingBlockStyle =\n bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? { padding: 24 } : undefined;\n\n const loadingBlock = (\n <div class={`${prefixCls}-loading-content`} style={loadingBlockStyle}>\n <Row gutter={8}>\n <Col span={22}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={8}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={15}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={6}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={18}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={13}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={9}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={4}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={3}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={16}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={8}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={6}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={8}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n </div>\n );\n\n const hasActiveTabKey = activeTabKey !== undefined;\n const tabsProps = {\n props: {\n size: 'large',\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey\n ? activeTabKey\n : defaultActiveTabKey,\n },\n on: {\n change: this.onHandleTabChange,\n },\n class: `${prefixCls}-head-tabs`,\n };\n\n let head;\n const tabs =\n tabList && tabList.length ? (\n <Tabs {...tabsProps}>\n {tabList.map(item => {\n const { tab: temp, scopedSlots = {} } = item;\n const name = scopedSlots.tab;\n const tab =\n temp !== undefined ? temp : $scopedSlots[name] ? $scopedSlots[name](item) : null;\n return <TabPane tab={tab} key={item.key} disabled={item.disabled} />;\n })}\n </Tabs>\n ) : null;\n const titleDom = getComponentFromProp(this, 'title');\n const extraDom = getComponentFromProp(this, 'extra');\n if (titleDom || extraDom || tabs) {\n head = (\n <div class={`${prefixCls}-head`} style={headStyle}>\n <div class={`${prefixCls}-head-wrapper`}>\n {titleDom && <div class={`${prefixCls}-head-title`}>{titleDom}</div>}\n {extraDom && <div class={`${prefixCls}-extra`}>{extraDom}</div>}\n </div>\n {tabs}\n </div>\n );\n }\n\n const children = $slots.default;\n const cover = getComponentFromProp(this, 'cover');\n const coverDom = cover ? <div class={`${prefixCls}-cover`}>{cover}</div> : null;\n const body = (\n <div class={`${prefixCls}-body`} style={bodyStyle}>\n {loading ? loadingBlock : children}\n </div>\n );\n const actions = filterEmpty(this.$slots.actions);\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n return (\n <div\n class={classString}\n ref=\"cardContainerRef\"\n {...{ on: omit($listeners, ['tabChange', 'tab-change']) }}\n >\n {head}\n {coverDom}\n {children ? body : null}\n {actionDom}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ACardGrid',\n __ANT_CARD_GRID: true,\n props: {\n prefixCls: PropTypes.string.def('ant-card'),\n },\n render() {\n const { prefixCls = 'ant-card' } = this.$props;\n const classString = {\n [`${prefixCls}-grid`]: true,\n };\n return (\n <div {...{ on: this.$listeners }} class={classString}>\n {this.$slots.default}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp } from '../_util/props-util';\n\nexport default {\n name: 'ACardMeta',\n props: {\n prefixCls: PropTypes.string.def('ant-card'),\n title: PropTypes.any,\n description: PropTypes.any,\n },\n render() {\n const { prefixCls = 'ant-card' } = this.$props;\n const classString = {\n [`${prefixCls}-meta`]: true,\n };\n\n const avatar = getComponentFromProp(this, 'avatar');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n\n const avatarDom = avatar ? <div class={`${prefixCls}-meta-avatar`}>{avatar}</div> : null;\n const titleDom = title ? <div class={`${prefixCls}-meta-title`}>{title}</div> : null;\n const descriptionDom = description ? (\n <div class={`${prefixCls}-meta-description`}>{description}</div>\n ) : null;\n const MetaDetail =\n titleDom || descriptionDom ? (\n <div class={`${prefixCls}-meta-detail`}>\n {titleDom}\n {descriptionDom}\n </div>\n ) : null;\n return (\n <div {...{ on: this.$listeners }} class={classString}>\n {avatarDom}\n {MetaDetail}\n </div>\n );\n },\n};\n","import Card from './Card';\nimport Meta from './Meta';\nimport Grid from './Grid';\nCard.Meta = Meta;\nCard.Grid = Grid;\n\n/* istanbul ignore next */\nCard.install = function(Vue) {\n Vue.component(Card.name, Card);\n Vue.component(Meta.name, Meta);\n Vue.component(Grid.name, Grid);\n};\n\nexport default Card;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tabs/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport debounce from 'lodash/debounce';\nimport { initDefaultProps, getComponentFromProp, filterEmpty } from '../_util/props-util';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n}\n// Use require over import (will be lifted up)\n// make sure matchMedia polyfill run before require('vc-slick')\n// Fix https://github.com/ant-design/ant-design/issues/6560\n// Fix https://github.com/ant-design/ant-design/issues/3308\nconst SlickCarousel = require('../vc-slick/src').default;\n\nexport const CarouselEffect = PropTypes.oneOf(['scrollx', 'fade']);\n// Carousel\nexport const CarouselProps = {\n effect: CarouselEffect,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n autoplay: PropTypes.bool,\n easing: PropTypes.string,\n beforeChange: PropTypes.func,\n afterChange: PropTypes.func,\n // style: PropTypes.React.CSSProperties,\n prefixCls: PropTypes.string,\n accessibility: PropTypes.bool,\n nextArrow: PropTypes.any,\n prevArrow: PropTypes.any,\n pauseOnHover: PropTypes.bool,\n // className: PropTypes.string,\n adaptiveHeight: PropTypes.bool,\n arrows: PropTypes.bool,\n autoplaySpeed: PropTypes.number,\n centerMode: PropTypes.bool,\n centerPadding: PropTypes.string,\n cssEase: PropTypes.string,\n dotsClass: PropTypes.string,\n draggable: PropTypes.bool,\n fade: PropTypes.bool,\n focusOnSelect: PropTypes.bool,\n infinite: PropTypes.bool,\n initialSlide: PropTypes.number,\n lazyLoad: PropTypes.bool,\n rtl: PropTypes.bool,\n slide: PropTypes.string,\n slidesToShow: PropTypes.number,\n slidesToScroll: PropTypes.number,\n speed: PropTypes.number,\n swipe: PropTypes.bool,\n swipeToSlide: PropTypes.bool,\n touchMove: PropTypes.bool,\n touchThreshold: PropTypes.number,\n variableWidth: PropTypes.bool,\n useCSS: PropTypes.bool,\n slickGoTo: PropTypes.number,\n};\n\nconst Carousel = {\n name: 'ACarousel',\n props: initDefaultProps(CarouselProps, {\n dots: true,\n arrows: false,\n prefixCls: 'ant-carousel',\n draggable: false,\n }),\n\n // innerSlider: any;\n\n // private slick: any;\n\n beforeMount() {\n this.onWindowResized = debounce(this.onWindowResized, 500, {\n leading: false,\n });\n },\n\n mounted() {\n const { autoplay } = this;\n if (autoplay) {\n window.addEventListener('resize', this.onWindowResized);\n }\n // https://github.com/ant-design/ant-design/issues/7191\n this.innerSlider = this.$refs.slick && this.$refs.slick.innerSlider;\n },\n\n beforeDestroy() {\n const { autoplay } = this;\n if (autoplay) {\n window.removeEventListener('resize', this.onWindowResized);\n this.onWindowResized.cancel();\n }\n },\n methods: {\n onWindowResized() {\n // Fix https://github.com/ant-design/ant-design/issues/2550\n const { autoplay } = this;\n if (\n autoplay &&\n this.$refs.slick &&\n this.$refs.slick.innerSlider &&\n this.$refs.slick.innerSlider.autoPlay\n ) {\n this.$refs.slick.innerSlider.autoPlay();\n }\n },\n\n next() {\n this.$refs.slick.slickNext();\n },\n\n prev() {\n this.$refs.slick.slickPrev();\n },\n\n goTo(slide, dontAnimate = false) {\n this.$refs.slick.slickGoTo(slide, dontAnimate);\n },\n },\n\n render() {\n const props = {\n ...this.$props,\n };\n const { $slots, $listeners } = this;\n\n if (props.effect === 'fade') {\n props.fade = true;\n }\n\n let className = props.prefixCls;\n if (props.vertical) {\n className = `${className} ${className}-vertical`;\n }\n const SlickCarouselProps = {\n props: {\n ...props,\n nextArrow: getComponentFromProp(this, 'nextArrow'),\n prevArrow: getComponentFromProp(this, 'prevArrow'),\n },\n on: $listeners,\n scopedSlots: this.$scopedSlots,\n };\n\n return (\n <div class={className}>\n <SlickCarousel ref=\"slick\" {...SlickCarouselProps}>\n {filterEmpty($slots.default)}\n </SlickCarousel>\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nCarousel.install = function(Vue) {\n Vue.component(Carousel.name, Carousel);\n};\n\nexport default Carousel;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport VcCascader from '../vc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from '../_util/KeyCode';\nimport Input from '../input';\nimport Icon from '../icon';\nimport {\n hasProp,\n filterEmpty,\n getOptionProps,\n getStyle,\n getClass,\n getAttrs,\n getComponentFromProp,\n isValidElement,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport warning from '../_util/warning';\n\nconst CascaderOptionType = PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.any,\n disabled: PropTypes.bool,\n children: PropTypes.array,\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst FieldNamesType = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n children: PropTypes.string,\n}).loose;\n\nconst CascaderExpandTrigger = PropTypes.oneOf(['click', 'hover']);\n\nconst ShowSearchType = PropTypes.shape({\n filter: PropTypes.func,\n render: PropTypes.func,\n sort: PropTypes.func,\n matchInputWidth: PropTypes.bool,\n limit: PropTypes.oneOfType([Boolean, Number]),\n}).loose;\nfunction noop() {}\n\nconst CascaderProps = {\n /** 可选项数据源 */\n options: PropTypes.arrayOf(CascaderOptionType).def([]),\n /** 默认的选中项 */\n defaultValue: PropTypes.array,\n /** 指定选中项 */\n value: PropTypes.array,\n /** 选择完成后的回调 */\n // onChange?: (value: string[], selectedOptions?: CascaderOptionType[]) => void;\n /** 选择后展示的渲染函数 */\n displayRender: PropTypes.func,\n transitionName: PropTypes.string.def('slide-up'),\n popupStyle: PropTypes.object.def({}),\n /** 自定义浮层类名 */\n popupClassName: PropTypes.string,\n /** 浮层预设位置:`bottomLeft` `bottomRight` `topLeft` `topRight` */\n popupPlacement: PropTypes.oneOf(['bottomLeft', 'bottomRight', 'topLeft', 'topRight']).def(\n 'bottomLeft',\n ),\n /** 输入框占位文本*/\n placeholder: PropTypes.string.def('Please select'),\n /** 输入框大小,可选 `large` `default` `small` */\n size: PropTypes.oneOf(['large', 'default', 'small']),\n /** 禁用*/\n disabled: PropTypes.bool.def(false),\n /** 是否支持清除*/\n allowClear: PropTypes.bool.def(true),\n showSearch: PropTypes.oneOfType([Boolean, ShowSearchType]),\n notFoundContent: PropTypes.any.def('Not Found'),\n loadData: PropTypes.func,\n /** 次级菜单的展开方式,可选 'click' 和 'hover' */\n expandTrigger: CascaderExpandTrigger,\n /** 当此项为 true 时,点选每级菜单选项值都会发生变化 */\n changeOnSelect: PropTypes.bool,\n /** 浮层可见变化时回调 */\n // onPopupVisibleChange?: (popupVisible: boolean) => void;\n prefixCls: PropTypes.string.def('ant-cascader'),\n inputPrefixCls: PropTypes.string.def('ant-input'),\n getPopupContainer: PropTypes.func,\n popupVisible: PropTypes.bool,\n fieldNames: FieldNamesType,\n autoFocus: PropTypes.bool,\n suffixIcon: PropTypes.any,\n};\n\n// We limit the filtered item count by default\nconst defaultLimit = 50;\n\nfunction defaultFilterOption(inputValue, path, names) {\n return path.some(option => option[names.label].indexOf(inputValue) > -1);\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n function callback(elem) {\n return elem[names.label].indexOf(inputValue) > -1;\n }\n\n return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFilledFieldNames({ fieldNames = {} }) {\n const names = {\n children: fieldNames.children || 'children',\n label: fieldNames.label || 'label',\n value: fieldNames.value || 'value',\n };\n return names;\n}\n\nfunction flattenTree(options = [], props, ancestor = []) {\n const names = getFilledFieldNames(props);\n let flattenOptions = [];\n const childrenName = names.children;\n options.forEach(option => {\n const path = ancestor.concat(option);\n if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n flattenOptions.push(path);\n }\n if (option[childrenName]) {\n flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n }\n });\n return flattenOptions;\n}\n\nconst defaultDisplayRender = ({ labels }) => labels.join(' / ');\n\nconst Cascader = {\n inheritAttrs: false,\n name: 'ACascader',\n mixins: [BaseMixin],\n props: CascaderProps,\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ({}) },\n localeData: { default: () => ({}) },\n },\n data() {\n this.cachedOptions = [];\n const { value, defaultValue, popupVisible, showSearch, options } = this;\n return {\n sValue: value || defaultValue || [],\n inputValue: '',\n inputFocused: false,\n sPopupVisible: popupVisible,\n flattenOptions: showSearch ? flattenTree(options, this.$props) : undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.showSearch && !this.disabled) {\n this.$refs.picker.focus();\n }\n });\n },\n watch: {\n value(val) {\n this.setState({ sValue: val || [] });\n },\n popupVisible(val) {\n this.setState({ sPopupVisible: val });\n },\n options(val) {\n if (this.showSearch) {\n this.setState({ flattenOptions: flattenTree(val, this.$props) });\n }\n },\n },\n methods: {\n highlightKeyword(str, keyword, prefixCls) {\n return str\n .split(keyword)\n .map((node, index) =>\n index === 0\n ? node\n : [<span class={`${prefixCls}-menu-item-keyword`}>{keyword}</span>, node],\n );\n },\n\n defaultRenderFilteredOption({ inputValue, path, prefixCls, names }) {\n return path.map((option, index) => {\n const label = option[names.label];\n const node =\n label.indexOf(inputValue) > -1\n ? this.highlightKeyword(label, inputValue, prefixCls)\n : label;\n return index === 0 ? node : [' / ', node];\n });\n },\n handleChange(value, selectedOptions) {\n this.setState({ inputValue: '' });\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\n const unwrappedValue = value[0];\n const unwrappedSelectedOptions = selectedOptions[0].path;\n this.setValue(unwrappedValue, unwrappedSelectedOptions);\n return;\n }\n this.setValue(value, selectedOptions);\n },\n\n handlePopupVisibleChange(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState(state => ({\n sPopupVisible: popupVisible,\n inputFocused: popupVisible,\n inputValue: popupVisible ? state.inputValue : '',\n }));\n }\n this.$emit('popupVisibleChange', popupVisible);\n },\n handleInputFocus(e) {\n this.$emit('focus', e);\n },\n\n handleInputBlur(e) {\n this.setState({\n inputFocused: false,\n });\n this.$emit('blur', e);\n },\n\n handleInputClick(e) {\n const { inputFocused, sPopupVisible } = this;\n // Prevent `Trigger` behaviour.\n if (inputFocused || sPopupVisible) {\n e.stopPropagation();\n if (e.nativeEvent && e.nativeEvent.stopImmediatePropagation) {\n e.nativeEvent.stopImmediatePropagation();\n }\n }\n },\n\n handleKeyDown(e) {\n if (e.keyCode === KeyCode.BACKSPACE) {\n e.stopPropagation();\n }\n },\n\n handleInputChange(e) {\n const inputValue = e.target.value;\n this.setState({ inputValue });\n },\n\n setValue(value, selectedOptions) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n this.$emit('change', value, selectedOptions);\n },\n\n getLabel() {\n const { options, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const displayRender =\n this.displayRender || $scopedSlots.displayRender || defaultDisplayRender;\n const value = this.sValue;\n const unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n const selectedOptions = arrayTreeFilter(\n options,\n (o, level) => o[names.value] === unwrappedValue[level],\n { childrenKeyName: names.children },\n );\n const labels = selectedOptions.map(o => o[names.label]);\n return displayRender({ labels, selectedOptions });\n },\n\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.inputValue) {\n this.setValue([]);\n this.handlePopupVisibleChange(false);\n } else {\n this.setState({ inputValue: '' });\n }\n },\n\n generateFilteredOptions(prefixCls) {\n const { showSearch, notFoundContent, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const {\n filter = defaultFilterOption,\n // render = this.defaultRenderFilteredOption,\n sort = defaultSortFilteredOption,\n limit = defaultLimit,\n } = showSearch;\n const render =\n showSearch.render || $scopedSlots.showSearchRender || this.defaultRenderFilteredOption;\n const { flattenOptions = [], inputValue } = this.$data;\n\n // Limit the filter if needed\n let filtered;\n if (limit > 0) {\n filtered = [];\n let matchCount = 0;\n\n // Perf optimization to filter items only below the limit\n flattenOptions.some(path => {\n const match = filter(inputValue, path, names);\n if (match) {\n filtered.push(path);\n matchCount += 1;\n }\n return matchCount >= limit;\n });\n } else {\n warning(\n typeof limit !== 'number',\n \"'limit' of showSearch in Cascader should be positive number or false.\",\n );\n filtered = flattenOptions.filter(path => filter(inputValue, path, names));\n }\n\n filtered.sort((a, b) => sort(a, b, inputValue, names));\n\n if (filtered.length > 0) {\n return filtered.map(path => {\n return {\n __IS_FILTERED_OPTION: true,\n path,\n [names.label]: render({ inputValue, path, prefixCls, names }),\n [names.value]: path.map(o => o[names.value]),\n disabled: path.some(o => !!o.disabled),\n };\n });\n }\n return [\n { [names.label]: notFoundContent, [names.value]: 'ANT_CASCADER_NOT_FOUND', disabled: true },\n ];\n },\n\n focus() {\n if (this.showSearch) {\n this.$refs.input.focus();\n } else {\n this.$refs.picker.focus();\n }\n },\n\n blur() {\n if (this.showSearch) {\n this.$refs.input.blur();\n } else {\n this.$refs.picker.blur();\n }\n },\n },\n\n render() {\n const { $slots, sPopupVisible, inputValue, $listeners, configProvider, localeData } = this;\n const { sValue: value, inputFocused } = this.$data;\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const { getPopupContainer: getContextPopupContainer } = configProvider;\n const {\n prefixCls,\n inputPrefixCls,\n placeholder = localeData.placeholder,\n size,\n disabled,\n allowClear,\n showSearch = false,\n ...otherProps\n } = props;\n\n const sizeCls = classNames({\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n });\n const clearIcon =\n (allowClear && !disabled && value.length > 0) || inputValue ? (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n key=\"clear-icon\"\n />\n ) : null;\n const arrowCls = classNames({\n [`${prefixCls}-picker-arrow`]: true,\n [`${prefixCls}-picker-arrow-expand`]: sPopupVisible,\n });\n const pickerCls = classNames(getClass(this), `${prefixCls}-picker`, {\n [`${prefixCls}-picker-with-value`]: inputValue,\n [`${prefixCls}-picker-disabled`]: disabled,\n [`${prefixCls}-picker-${size}`]: !!size,\n [`${prefixCls}-picker-show-search`]: !!showSearch,\n [`${prefixCls}-picker-focused`]: inputFocused,\n });\n\n // Fix bug of https://github.com/facebook/react/pull/5004\n // and https://fb.me/react-unknown-prop\n const tempInputProps = omit(otherProps, [\n 'options',\n 'popupPlacement',\n 'transitionName',\n 'displayRender',\n 'changeOnSelect',\n 'expandTrigger',\n 'popupVisible',\n 'getPopupContainer',\n 'loadData',\n 'popupClassName',\n 'filterOption',\n 'renderFilteredOption',\n 'sortFilteredOption',\n 'notFoundContent',\n 'defaultValue',\n 'fieldNames',\n ]);\n\n let options = props.options;\n if (inputValue) {\n options = this.generateFilteredOptions(prefixCls);\n }\n // Dropdown menu should keep previous status until it is fully closed.\n if (!sPopupVisible) {\n options = this.cachedOptions;\n } else {\n this.cachedOptions = options;\n }\n\n const dropdownMenuColumnStyle = {};\n const isNotFound =\n (options || []).length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND';\n if (isNotFound) {\n dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n }\n // The default value of `matchInputWidth` is `true`\n const resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n if (resultListMatchInputWidth && inputValue && this.input) {\n dropdownMenuColumnStyle.width = this.input.input.offsetWidth;\n }\n // showSearch时,focus、blur在input上触发,反之在ref='picker'上触发\n const inputProps = {\n props: {\n ...tempInputProps,\n prefixCls: inputPrefixCls,\n placeholder: value && value.length > 0 ? undefined : placeholder,\n value: inputValue,\n disabled: disabled,\n readOnly: !showSearch,\n autoComplete: 'off',\n },\n class: `${prefixCls}-input ${sizeCls}`,\n ref: 'input',\n on: {\n focus: showSearch ? this.handleInputFocus : noop,\n click: showSearch ? this.handleInputClick : noop,\n blur: showSearch ? this.handleInputBlur : noop,\n keydown: this.handleKeyDown,\n change: showSearch ? this.handleInputChange : noop,\n },\n attrs: getAttrs(this),\n };\n const children = filterEmpty($slots.default);\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: {\n [`${prefixCls}-picker-arrow`]: true,\n },\n })\n ) : (\n <span class={`${prefixCls}-picker-arrow`}>{suffixIcon}</span>\n ))) || <Icon type=\"down\" class={arrowCls} />;\n\n const input = children.length ? (\n children\n ) : (\n <span class={pickerCls} style={getStyle(this)} ref=\"picker\">\n {showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n <Input {...inputProps} />\n {!showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n {clearIcon}\n {inputIcon}\n </span>\n );\n\n const expandIcon = <Icon type=\"right\" />;\n\n const loadingIcon = (\n <span class={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"redo\" spin />\n </span>\n );\n const getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n const cascaderProps = {\n props: {\n ...props,\n getPopupContainer,\n options: options,\n value: value,\n popupVisible: sPopupVisible,\n dropdownMenuColumnStyle: dropdownMenuColumnStyle,\n expandIcon,\n loadingIcon,\n },\n on: {\n ...$listeners,\n popupVisibleChange: this.handlePopupVisibleChange,\n change: this.handleChange,\n },\n };\n return <VcCascader {...cascaderProps}>{input}</VcCascader>;\n },\n};\n\n/* istanbul ignore next */\nCascader.install = function(Vue) {\n Vue.component(Cascader.name, Cascader);\n};\n\nexport default Cascader;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport VcCheckbox from '../vc-checkbox';\nimport { getOptionProps, getAttrs } from '../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'ACheckbox',\n inheritAttrs: false,\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: {\n default: 'ant-checkbox',\n type: String,\n },\n defaultChecked: PropTypes.bool,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n isGroup: Boolean,\n value: PropTypes.any,\n name: String,\n id: String,\n indeterminate: Boolean,\n type: PropTypes.string.def('checkbox'),\n autoFocus: Boolean,\n },\n inject: {\n checkboxGroupContext: { default: () => null },\n },\n methods: {\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n },\n\n render() {\n const { checkboxGroupContext: checkboxGroup, $listeners, $slots } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, ...restListeners } = $listeners;\n const { prefixCls, indeterminate, ...restProps } = props;\n const checkboxProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n if (checkboxGroup) {\n checkboxProps.on.change = (...args) => {\n this.$emit('change', ...args);\n checkboxGroup.toggleOption({ label: children, value: props.value });\n };\n checkboxProps.props.checked = checkboxGroup.sValue.indexOf(props.value) !== -1;\n checkboxProps.props.disabled = props.disabled || checkboxGroup.disabled;\n } else {\n checkboxProps.on.change = this.handleChange;\n }\n const classString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: checkboxProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: checkboxProps.props.disabled,\n });\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate,\n });\n return (\n <label class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...checkboxProps} class={checkboxClass} ref=\"vcCheckbox\" />\n {children !== undefined && <span>{children}</span>}\n </label>\n );\n },\n};\n","import Checkbox from './Checkbox';\nimport hasProp from '../_util/props-util';\nfunction noop() {}\nexport default {\n name: 'ACheckboxGroup',\n model: {\n prop: 'value',\n },\n props: {\n prefixCls: {\n default: 'ant-checkbox',\n type: String,\n },\n defaultValue: {\n default: undefined,\n type: Array,\n },\n value: {\n default: undefined,\n type: Array,\n },\n options: {\n default: () => [],\n type: Array,\n },\n disabled: Boolean,\n },\n provide() {\n return {\n checkboxGroupContext: this,\n };\n },\n data() {\n const { value, defaultValue } = this;\n return {\n sValue: value || defaultValue || [],\n };\n },\n watch: {\n value(val) {\n this.sValue = val;\n },\n },\n methods: {\n getOptions() {\n const { options, $scopedSlots } = this;\n return options.map(option => {\n if (typeof option === 'string') {\n return {\n label: option,\n value: option,\n };\n }\n let label = option.label;\n if (label === undefined && $scopedSlots.label) {\n label = $scopedSlots.label(option);\n }\n return { ...option, label };\n });\n },\n toggleOption(option) {\n const optionIndex = this.sValue.indexOf(option.value);\n const value = [...this.sValue];\n if (optionIndex === -1) {\n value.push(option.value);\n } else {\n value.splice(optionIndex, 1);\n }\n if (!hasProp(this, 'value')) {\n this.sValue = value;\n }\n this.$emit('input', value);\n this.$emit('change', value);\n },\n },\n render() {\n const { $props: props, $data: state, $slots } = this;\n const { prefixCls, options } = props;\n let children = $slots.default;\n const groupPrefixCls = `${prefixCls}-group`;\n if (options && options.length > 0) {\n children = this.getOptions().map(option => (\n <Checkbox\n prefixCls={prefixCls}\n key={option.value.toString()}\n disabled={'disabled' in option ? option.disabled : props.disabled}\n value={option.value}\n checked={state.sValue.indexOf(option.value) !== -1}\n onChange={option.onChange || noop}\n class={`${groupPrefixCls}-item`}\n >\n {option.label}\n </Checkbox>\n ));\n }\n return <div class={groupPrefixCls}>{children}</div>;\n },\n};\n","import Checkbox from './Checkbox';\nimport CheckboxGroup from './Group';\n\nCheckbox.Group = CheckboxGroup;\n\n/* istanbul ignore next */\nCheckbox.install = function(Vue) {\n Vue.component(Checkbox.name, Checkbox);\n Vue.component(CheckboxGroup.name, CheckboxGroup);\n};\n\nexport default Checkbox;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { Col } from '../grid';\n/* istanbul ignore next */\nCol.install = function(Vue) {\n Vue.component(Col.name, Col);\n};\n\nexport default Col;\n","import '../../style/index.less';\nimport '../../grid/style/index.less';\n","import animation from '../_util/openAnimation';\nimport { getOptionProps, initDefaultProps } from '../_util/props-util';\nimport VcCollapse, { collapseProps } from '../vc-collapse';\nimport Icon from '../icon';\nexport default {\n name: 'ACollapse',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps, {\n prefixCls: 'ant-collapse',\n bordered: true,\n openAnimation: animation,\n }),\n methods: {\n renderExpandIcon() {\n return <Icon type=\"right\" class=\"arrow\" />;\n },\n },\n render() {\n const { prefixCls, bordered, $listeners } = this;\n const collapseClassName = {\n [`${prefixCls}-borderless`]: !bordered,\n };\n const rcCollapeProps = {\n props: {\n ...getOptionProps(this),\n expandIcon: this.renderExpandIcon,\n },\n class: collapseClassName,\n on: $listeners,\n };\n return <VcCollapse {...rcCollapeProps}>{this.$slots.default}</VcCollapse>;\n },\n};\n","import { getOptionProps, getComponentFromProp } from '../_util/props-util';\nimport VcCollapse, { panelProps } from '../vc-collapse';\n\nexport default {\n name: 'ACollapsePanel',\n props: {\n ...panelProps,\n },\n render() {\n const { prefixCls, showArrow = true, $listeners } = this;\n const collapsePanelClassName = {\n [`${prefixCls}-no-arrow`]: !showArrow,\n };\n const rcCollapePanelProps = {\n props: {\n ...getOptionProps(this),\n },\n class: collapsePanelClassName,\n on: $listeners,\n };\n const header = getComponentFromProp(this, 'header');\n return (\n <VcCollapse.Panel {...rcCollapePanelProps}>\n {this.$slots.default}\n {header ? <template slot=\"header\">{header}</template> : null}\n </VcCollapse.Panel>\n );\n },\n};\n","import Collapse from './Collapse';\nimport CollapsePanel from './CollapsePanel';\n\nCollapse.Panel = CollapsePanel;\n\n/* istanbul ignore next */\nCollapse.install = function(Vue) {\n Vue.component(Collapse.name, Collapse);\n Vue.component(CollapsePanel.name, CollapsePanel);\n};\n\nexport default Collapse;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropsTypes from '../_util/vue-types';\nimport { initDefaultProps, getComponentFromProp } from '../_util/props-util';\n\nexport const CommentProps = {\n actions: PropsTypes.array,\n /** The element to display as the comment author. */\n author: PropsTypes.any,\n /** The element to display as the comment avatar - generally an antd Avatar */\n avatar: PropsTypes.any,\n /** The main content of the comment */\n content: PropsTypes.any,\n /** Comment prefix defaults to '.ant-comment' */\n prefixCls: PropsTypes.string,\n /** A datetime element containing the time to be displayed */\n datetime: PropsTypes.any,\n};\n\nconst Comment = {\n name: 'AComment',\n props: initDefaultProps(CommentProps, {\n prefixCls: 'ant-comment',\n }),\n methods: {\n getAction(actions) {\n if (!actions || !actions.length) {\n return null;\n }\n const actionList = actions.map((action, index) => <li key={`action-${index}`}>{action}</li>);\n return actionList;\n },\n renderNested(children) {\n const { prefixCls } = this.$props;\n\n return <div class={`${prefixCls}-nested`}>{children}</div>;\n },\n },\n\n render() {\n const { prefixCls } = this.$props;\n\n const actions = getComponentFromProp(this, 'actions');\n const author = getComponentFromProp(this, 'author');\n const avatar = getComponentFromProp(this, 'avatar');\n const content = getComponentFromProp(this, 'content');\n const datetime = getComponentFromProp(this, 'datetime');\n\n const avatarDom = (\n <div class={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <img src={avatar} /> : avatar}\n </div>\n );\n\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n const authorContent = (\n <div class={`${prefixCls}-content-author`}>\n {author && <span class={`${prefixCls}-content-author-name`}>{author}</span>}\n {datetime && <span class={`${prefixCls}-content-author-time`}>{datetime}</span>}\n </div>\n );\n\n const contentDom = (\n <div class={`${prefixCls}-content`}>\n {authorContent}\n <div class={`${prefixCls}-content-detail`}>{content}</div>\n {actionDom}\n </div>\n );\n\n const comment = (\n <div class={`${prefixCls}-inner`}>\n {avatarDom}\n {contentDom}\n </div>\n );\n const children = this.$slots.default;\n return (\n <div class={prefixCls} {...{ on: this.$listeners }}>\n {comment}\n {children ? this.renderNested(children) : null}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nComment.install = function(Vue) {\n Vue.component(Comment.name, Comment);\n};\nexport default Comment;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\n\nconst ConfigProvider = {\n name: 'AConfigProvider',\n props: {\n getPopupContainer: PropTypes.func,\n },\n provide() {\n return {\n configProvider: this.$props,\n };\n },\n render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n },\n};\n\n/* istanbul ignore next */\nConfigProvider.install = function(Vue) {\n Vue.component(ConfigProvider.name, ConfigProvider);\n};\n\nexport default ConfigProvider;\n","import './index.less';\n","// extracted by mini-css-extract-plugin","import * as moment from 'moment';\nimport RangeCalendar from '../vc-calendar/src/RangeCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport interopDefault from '../_util/interopDefault';\nimport { RangePickerProps } from './interface';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n isValidElement,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nfunction noop() {}\nfunction getShowDateFromValue(value) {\n const [start, end] = value;\n // value could be an empty array, then we should not reset showDate\n if (!start && !end) {\n return;\n }\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction formatValue(value, format) {\n return (value && value.format(format)) || '';\n}\n\nfunction pickerValueAdapter(value) {\n if (!value) {\n return;\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [value, value.clone().add(1, 'month')];\n}\n\nfunction isEmptyArray(arr) {\n if (Array.isArray(arr)) {\n return arr.length === 0 || arr.every(i => !i);\n }\n return false;\n}\n\nfunction fixLocale(value, localeCode) {\n if (!localeCode) {\n return;\n }\n if (!value || value.length === 0) {\n return;\n }\n const [start, end] = value;\n if (start) {\n start.locale(localeCode);\n }\n if (end) {\n end.locale(localeCode);\n }\n}\n\nexport default {\n name: 'ARangePicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(RangePickerProps(), {\n prefixCls: 'ant-calendar',\n tagPrefixCls: 'ant-tag',\n allowClear: true,\n showToday: false,\n }),\n data() {\n const value = this.value || this.defaultValue || [];\n const [start, end] = value;\n if (\n (start && !interopDefault(moment).isMoment(start)) ||\n (end && !interopDefault(moment).isMoment(end))\n ) {\n throw new Error(\n 'The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' +\n 'see: https://u.ant.design/date-picker-value',\n );\n }\n const pickerValue = !value || isEmptyArray(value) ? this.defaultPickerValue : value;\n return {\n sValue: value,\n sShowDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\n sOpen: this.open,\n sHoverValue: [],\n };\n },\n watch: {\n value(val) {\n const value = val || [];\n let state = { sValue: value };\n if (!shallowequal(val, this.sValue)) {\n state = {\n ...state,\n sShowDate: getShowDateFromValue(value) || this.sShowDate,\n };\n }\n this.setState(state);\n },\n open(val) {\n this.setState({\n sOpen: val,\n });\n },\n },\n methods: {\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({ sValue: [] });\n this.handleChange([]);\n },\n\n clearHoverValue() {\n this.setState({ sHoverValue: [] });\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n }\n const [start, end] = value;\n this.$emit('change', value, [formatValue(start, this.format), formatValue(end, this.format)]);\n },\n\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n\n if (open === false) {\n this.clearHoverValue();\n }\n this.$emit('openChange', open);\n\n if (!open) {\n this.focus();\n }\n },\n\n handleShowDateChange(showDate) {\n this.setState({ sShowDate: showDate });\n },\n\n handleHoverChange(hoverValue) {\n this.setState({ sHoverValue: hoverValue });\n },\n\n handleRangeMouseLeave() {\n if (this.sOpen) {\n this.clearHoverValue();\n }\n },\n\n handleCalendarInputSelect(value) {\n const [start] = value;\n if (!start) {\n return;\n }\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n },\n\n handleRangeClick(value) {\n if (typeof value === 'function') {\n value = value();\n }\n\n this.setValue(value, true);\n this.$emit('ok', value);\n this.$emit('openChange', false);\n },\n\n setValue(value, hidePanel) {\n this.handleChange(value);\n if ((hidePanel || !this.showTime) && !hasProp(this, 'open')) {\n this.setState({ sOpen: false });\n }\n },\n\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n renderFooter(...args) {\n const { prefixCls, ranges, $scopedSlots, $slots, tagPrefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n if (!ranges && !renderExtraFooter) {\n return null;\n }\n const customFooter = renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`} key=\"extra\">\n {typeof renderExtraFooter === 'function' ? renderExtraFooter(...args) : renderExtraFooter}\n </div>\n ) : null;\n const operations = Object.keys(ranges || {}).map(range => {\n const value = ranges[range];\n return (\n <Tag\n key={range}\n prefixCls={tagPrefixCls}\n color=\"blue\"\n onClick={() => this.handleRangeClick(value)}\n onMouseenter={() => this.setState({ sHoverValue: value })}\n onMouseleave={this.handleRangeMouseLeave}\n >\n {range}\n </Tag>\n );\n });\n const rangeNode =\n operations && operations.length > 0 ? (\n <div class={`${prefixCls}-footer-extra ${prefixCls}-range-quick-selector`} key=\"range\">\n {operations}\n </div>\n ) : null;\n return [rangeNode, customFooter];\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n sValue: value,\n sShowDate: showDate,\n sHoverValue: hoverValue,\n sOpen: open,\n $listeners,\n $scopedSlots,\n } = this;\n const {\n calendarChange = noop,\n ok = noop,\n focus = noop,\n blur = noop,\n panelChange = noop,\n } = $listeners;\n const {\n prefixCls,\n popupStyle,\n disabledDate,\n disabledTime,\n showTime,\n showToday,\n ranges,\n locale,\n localeCode,\n format,\n } = props;\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n fixLocale(value, localeCode);\n fixLocale(showDate, localeCode);\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-range-with-ranges`]: ranges,\n });\n\n // 需要选择时间时,点击 ok 时才触发 onChange\n const pickerChangeHandler = {\n on: {\n change: this.handleChange,\n },\n };\n let calendarProps = {\n on: {\n ok: this.handleChange,\n },\n props: {},\n };\n if (props.timePicker) {\n pickerChangeHandler.on.change = changedValue => this.handleChange(changedValue);\n } else {\n calendarProps = { on: {}, props: {} };\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n\n const startPlaceholder =\n 'placeholder' in props ? props.placeholder[0] : locale.lang.rangePlaceholder[0];\n const endPlaceholder =\n 'placeholder' in props ? props.placeholder[1] : locale.lang.rangePlaceholder[1];\n const rangeCalendarProps = mergeProps(calendarProps, {\n props: {\n format: format,\n prefixCls: prefixCls,\n renderFooter: this.renderFooter,\n timePicker: props.timePicker,\n disabledDate: disabledDate,\n disabledTime: disabledTime,\n dateInputPlaceholder: [startPlaceholder, endPlaceholder],\n locale: locale.lang,\n dateRender: dateRender,\n value: showDate,\n hoverValue: hoverValue,\n showToday: showToday,\n },\n on: {\n change: calendarChange,\n ok: ok,\n valueChange: this.handleShowDateChange,\n hoverChange: this.handleHoverChange,\n panelChange,\n inputSelect: this.handleCalendarInputSelect,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <RangeCalendar {...rangeCalendarProps} />;\n\n // default width for showTime\n const pickerStyle = {};\n if (props.showTime) {\n pickerStyle.width = '350px';\n }\n const [startValue, endValue] = value;\n const clearIcon =\n !props.disabled && props.allowClear && value && (startValue || endValue) ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value: inputValue }) => {\n const [start, end] = inputValue;\n return (\n <span class={props.pickerInputClass}>\n <input\n disabled={props.disabled}\n readOnly\n value={(start && start.format(props.format)) || ''}\n placeholder={startPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n <span class={`${prefixCls}-range-picker-separator`}> ~ </span>\n <input\n disabled={props.disabled}\n readOnly\n value={(end && end.format(props.format)) || ''}\n placeholder={endPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = mergeProps(\n {\n props,\n on: $listeners,\n },\n pickerChangeHandler,\n {\n props: {\n calendar: calendar,\n value: value,\n open: open,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n },\n );\n return (\n <span\n ref=\"picker\"\n class={props.pickerClass}\n style={pickerStyle}\n tabIndex={props.disabled ? -1 : 0}\n onFocus={focus}\n onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps}>{input}</VcDatePicker>\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport Calendar from '../vc-calendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport Icon from '../icon';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n isValidElement,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { WeekPickerProps } from './interface';\nimport interopDefault from '../_util/interopDefault';\nimport { cloneElement } from '../_util/vnode';\n\nfunction formatValue(value, format) {\n return (value && value.format(format)) || '';\n}\nfunction noop() {}\n\nexport default {\n // static defaultProps = {\n // format: 'YYYY-wo',\n // allowClear: true,\n // };\n\n // private input: any;\n name: 'AWeekPicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(WeekPickerProps(), {\n format: 'gggg-wo',\n allowClear: true,\n }),\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n _value: value,\n _open: this.open,\n };\n },\n watch: {\n value(val) {\n this.setState({ _value: val });\n },\n open(val) {\n this.setState({ _open: val });\n },\n },\n\n methods: {\n weekDateRender(current) {\n const selectedValue = this.$data._value;\n const { prefixCls } = this;\n if (\n selectedValue &&\n current.year() === selectedValue.year() &&\n current.week() === selectedValue.week()\n ) {\n return (\n <div class={`${prefixCls}-selected-day`}>\n <div class={`${prefixCls}-date`}>{current.date()}</div>\n </div>\n );\n }\n return <div class={`${prefixCls}-date`}>{current.date()}</div>;\n },\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ _value: value });\n }\n this.$emit('change', value, formatValue(value, this.format));\n },\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n\n if (!open) {\n this.focus();\n }\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n prefixCls,\n disabled,\n pickerClass,\n popupStyle,\n pickerInputClass,\n format,\n allowClear,\n locale,\n localeCode,\n disabledDate,\n $data,\n $listeners,\n $scopedSlots,\n } = this;\n const { _value: pickerValue, _open: open } = $data;\n const { focus = noop, blur = noop } = $listeners;\n\n if (pickerValue && localeCode) {\n pickerValue.locale(localeCode);\n }\n\n const placeholder = hasProp(this, 'placeholder') ? this.placeholder : locale.lang.placeholder;\n const weekDateRender = this.dateRender || $scopedSlots.dateRender || this.weekDateRender;\n const calendar = (\n <Calendar\n showWeekNumber\n dateRender={weekDateRender}\n prefixCls={prefixCls}\n format={format}\n locale={locale.lang}\n showDateInput={false}\n showToday={false}\n disabledDate={disabledDate}\n />\n );\n const clearIcon =\n !disabled && allowClear && $data._value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value }) => {\n return (\n <span style={{ display: 'inline-block', width: '100%' }}>\n <input\n ref=\"input\"\n disabled={disabled}\n readOnly\n value={(value && value.format(format)) || ''}\n placeholder={placeholder}\n class={pickerInputClass}\n onFocus={focus}\n onBlur={blur}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = {\n props: {\n ...props,\n calendar,\n prefixCls: `${prefixCls}-picker-container`,\n value: pickerValue,\n open,\n },\n on: {\n ...$listeners,\n change: this.handleChange,\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n };\n return (\n <span class={pickerClass}>\n <VcDatePicker {...vcDatePickerProps}>{input}</VcDatePicker>\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport omit from 'lodash/omit';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport interopDefault from '../_util/interopDefault';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n isValidElement,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\n// export const PickerProps = {\n// value?: moment.Moment;\n// prefixCls: string;\n// }\nfunction noop() {}\nexport default function createPicker(TheCalendar, props) {\n return {\n // static defaultProps = {\n // prefixCls: 'ant-calendar',\n // allowClear: true,\n // showToday: true,\n // };\n\n // private input: any;\n props: initDefaultProps(props, {\n prefixCls: 'ant-calendar',\n allowClear: true,\n showToday: true,\n }),\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n sValue: value,\n showDate: value,\n _open: !!this.open,\n };\n },\n watch: {\n open(val) {\n const props = getOptionProps(this);\n const state = {};\n state._open = val;\n if ('value' in props && !val && props.value !== this.showDate) {\n state.showDate = props.value;\n }\n this.setState(state);\n },\n value(val) {\n const state = {};\n state.sValue = val;\n if (val !== this.sValue) {\n state.showDate = val;\n }\n this.setState(state);\n },\n },\n methods: {\n renderFooter(...args) {\n const { prefixCls, $scopedSlots, $slots } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>\n {typeof renderExtraFooter === 'function'\n ? renderExtraFooter(...args)\n : renderExtraFooter}\n </div>\n ) : null;\n },\n\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n showDate: value,\n });\n }\n this.$emit('change', value, (value && value.format(this.format)) || '');\n },\n\n handleCalendarChange(value) {\n this.setState({ showDate: value });\n },\n handleOpenChange(open) {\n const props = getOptionProps(this);\n if (!('open' in props)) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n if (!open) {\n this.focus();\n }\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n },\n\n render() {\n const { $listeners, $scopedSlots } = this;\n const { sValue: value, showDate, _open: open } = this.$data;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const { panelChange = noop, focus = noop, blur = noop, ok = noop } = $listeners;\n const props = getOptionProps(this);\n const { prefixCls, locale, localeCode } = props;\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n const monthCellContentRender =\n props.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\n\n const disabledTime = props.showTime ? props.disabledTime : null;\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: props.showTime,\n [`${prefixCls}-month`]: MonthCalendar === TheCalendar,\n });\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n\n const pickerProps = { props: {}, on: {} };\n const calendarProps = { props: {}, on: {} };\n const pickerStyle = {};\n if (props.showTime) {\n // fix https://github.com/ant-design/ant-design/issues/1902\n calendarProps.on.select = this.handleChange;\n pickerStyle.width = '195px';\n } else {\n pickerProps.on.change = this.handleChange;\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n const theCalendarProps = mergeProps(calendarProps, {\n props: {\n disabledDate: props.disabledDate,\n disabledTime,\n locale: locale.lang,\n timePicker: props.timePicker,\n defaultValue: props.defaultPickerValue || interopDefault(moment)(),\n dateInputPlaceholder: placeholder,\n prefixCls,\n dateRender,\n format: props.format,\n showToday: props.showToday,\n monthCellContentRender,\n renderFooter: this.renderFooter,\n value: showDate,\n },\n on: {\n ok: ok,\n panelChange,\n change: this.handleCalendarChange,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <TheCalendar {...theCalendarProps} />;\n\n const clearIcon =\n !props.disabled && props.allowClear && value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value: inputValue }) => (\n <div>\n <input\n ref=\"input\"\n disabled={props.disabled}\n onFocus={focus}\n onBlur={blur}\n readOnly\n value={(inputValue && inputValue.format(props.format)) || ''}\n placeholder={placeholder}\n class={props.pickerInputClass}\n tabIndex={props.tabIndex}\n />\n {clearIcon}\n {inputIcon}\n </div>\n );\n const vcDatePickerProps = {\n props: {\n ...props,\n ...pickerProps.props,\n calendar,\n value,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n ...omit($listeners, 'change'),\n ...pickerProps.on,\n open,\n onOpenChange: this.handleOpenChange,\n },\n style: props.popupStyle,\n };\n return (\n <span\n class={props.pickerClass}\n style={pickerStyle}\n // tabIndex={props.disabled ? -1 : 0}\n // onFocus={focus}\n // onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps}>{input}</VcDatePicker>\n </span>\n );\n },\n };\n}\n","import VcCalendar from '../vc-calendar';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport createPicker from './createPicker';\nimport wrapPicker from './wrapPicker';\nimport RangePicker from './RangePicker';\nimport WeekPicker from './WeekPicker';\nimport { DatePickerProps, MonthPickerProps, WeekPickerProps, RangePickerProps } from './interface';\n\nconst DatePicker = wrapPicker(\n { ...createPicker(VcCalendar, DatePickerProps()), name: 'ADatePicker' },\n DatePickerProps(),\n);\n\nconst MonthPicker = wrapPicker(\n { ...createPicker(MonthCalendar, MonthPickerProps()), name: 'AMonthPicker' },\n MonthPickerProps(),\n 'YYYY-MM',\n);\n\nObject.assign(DatePicker, {\n RangePicker: wrapPicker(RangePicker, RangePickerProps()),\n MonthPicker,\n WeekPicker: wrapPicker(WeekPicker, WeekPickerProps(), 'gggg-wo'),\n});\n\n/* istanbul ignore next */\nDatePicker.install = function(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n Vue.component(DatePicker.RangePicker.name, DatePicker.RangePicker);\n Vue.component(DatePicker.MonthPicker.name, DatePicker.MonthPicker);\n Vue.component(DatePicker.WeekPicker.name, DatePicker.WeekPicker);\n};\n\nexport default DatePicker;\n","import * as moment from 'moment';\n// import { TimePickerProps } from '../time-picker'\nimport PropTypes from '../_util/vue-types';\n\nexport const MomentType = {\n type: Object,\n validator: function(value) {\n return value === undefined || moment.isMoment(value);\n },\n};\n\nexport const PickerProps = () => ({\n transitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n suffixIcon: PropTypes.any,\n popupStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n locale: PropTypes.any,\n localeCode: PropTypes.string,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n getCalendarContainer: PropTypes.func,\n open: PropTypes.bool,\n // onOpenChange: PropTypes.(status: bool) => void,\n disabledDate: PropTypes.func,\n renderExtraFooter: PropTypes.any,\n showToday: PropTypes.bool,\n dateRender: PropTypes.any, // (current: moment.Moment, today: moment.Moment) => React.ReactNode,\n pickerClass: PropTypes.string,\n pickerInputClass: PropTypes.string,\n timePicker: PropTypes.any,\n autoFocus: PropTypes.bool,\n tagPrefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n});\n\nexport const SinglePickerProps = () => ({\n value: MomentType,\n defaultValue: MomentType,\n defaultPickerValue: MomentType,\n // onChange?: (date: moment.Moment, dateString: string) => void;\n});\n\nexport const DatePickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n open: PropTypes.bool,\n disabledTime: PropTypes.func,\n // onOpenChange?: (status: bool) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n placeholder: PropTypes.string,\n});\n\nexport const MonthPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n monthCellContentRender: PropTypes.func,\n});\nfunction isMomentArray(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n }\n return false;\n}\n\nexport const RangePickerValue = PropTypes.custom(isMomentArray);\n// export const RangePickerPresetRange = PropTypes.oneOfType([RangePickerValue, PropTypes.func])\n\nexport const RangePickerProps = () => ({\n ...PickerProps(),\n value: RangePickerValue,\n defaultValue: RangePickerValue,\n defaultPickerValue: RangePickerValue,\n // onChange?: (dates: RangePickerValue, dateStrings: [string, string]) => void;\n // onCalendarChange?: (dates: RangePickerValue, dateStrings: [string, string]) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n ranges: PropTypes.object,\n placeholder: PropTypes.arrayOf(String),\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n disabledTime: PropTypes.func,\n showToday: PropTypes.bool,\n // onPanelChange?: (value?: RangePickerValue, mode?: string | string[]) => void;\n});\n\nexport const WeekPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n});\n\n// export interface DatePickerDecorator extends React.ClassicComponentClass<DatePickerProps> {\n// RangePicker: React.ClassicComponentClass<RangePickerProps>;\n// MonthPicker: React.ClassicComponentClass<MonthPickerProps>;\n// WeekPicker: React.ClassicComponentClass<WeexPickerProps>;\n// }\n","import CalendarLocale from '../../vc-calendar/src/locale/en_US';\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Select date',\n rangePlaceholder: ['Start date', 'End date'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/lo\n// cale/example.json\n\nexport default locale;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../input/style';\nimport '../../time-picker/style';\nimport '../../tag/style';\n","// extracted by mini-css-extract-plugin","import TimePickerPanel from '../vc-time-picker/Panel';\nimport classNames from 'classnames';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { generateShowHourMinuteSecond } from '../time-picker';\nimport enUS from './locale/en_US';\nimport { getOptionProps, initDefaultProps } from '../_util/props-util';\n\nfunction getColumns({ showHour, showMinute, showSecond, use12Hours }) {\n let column = 0;\n if (showHour) {\n column += 1;\n }\n if (showMinute) {\n column += 1;\n }\n if (showSecond) {\n column += 1;\n }\n if (use12Hours) {\n column += 1;\n }\n return column;\n}\n\nexport default function wrapPicker(Picker, props, defaultFormat) {\n return {\n name: Picker.name,\n props: initDefaultProps(props, {\n format: defaultFormat || 'YYYY-MM-DD',\n transitionName: 'slide-up',\n popupStyle: {},\n locale: {},\n prefixCls: 'ant-calendar',\n inputPrefixCls: 'ant-input',\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n\n mounted() {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.$nextTick(() => {\n this.focus();\n });\n }\n },\n methods: {\n handleOpenChange(open) {\n this.$emit('openChange', open);\n },\n\n handleFocus(e) {\n this.$emit('focus', e);\n },\n\n handleBlur(e) {\n this.$emit('blur', e);\n },\n\n handleMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n\n handleMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.locale || {}).lang,\n };\n return result;\n },\n\n renderPicker(locale, localeCode) {\n const props = getOptionProps(this);\n const { prefixCls, inputPrefixCls, size, showTime, disabled } = props;\n const pickerClass = classNames(`${prefixCls}-picker`, {\n [`${prefixCls}-picker-${size}`]: !!size,\n });\n const pickerInputClass = classNames(`${prefixCls}-picker-input`, inputPrefixCls, {\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n [`${inputPrefixCls}-disabled`]: disabled,\n });\n\n const timeFormat = (showTime && showTime.format) || 'HH:mm:ss';\n const vcTimePickerProps = {\n ...generateShowHourMinuteSecond(timeFormat),\n format: timeFormat,\n use12Hours: showTime && showTime.use12Hours,\n };\n const columns = getColumns(vcTimePickerProps);\n const timePickerCls = `${prefixCls}-time-picker-column-${columns}`;\n const timePickerPanelProps = {\n props: {\n ...vcTimePickerProps,\n ...showTime,\n prefixCls: `${prefixCls}-time-picker`,\n placeholder: locale.timePickerLocale.placeholder,\n transitionName: 'slide-up',\n },\n class: timePickerCls,\n };\n const timePicker = showTime ? <TimePickerPanel {...timePickerPanelProps} /> : null;\n const pickerProps = {\n props: {\n ...props,\n pickerClass,\n pickerInputClass,\n locale,\n localeCode,\n timePicker,\n },\n on: {\n ...this.$listeners,\n openChange: this.handleOpenChange,\n focus: this.handleFocus,\n blur: this.handleBlur,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave,\n },\n ref: 'picker',\n scopedSlots: this.$scopedSlots || {},\n };\n return (\n <Picker {...pickerProps}>\n {this.$slots &&\n Object.keys(this.$slots).map(key => (\n <template slot={key} key={key}>\n {this.$slots[key]}\n </template>\n ))}\n </Picker>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"DatePicker\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderPicker }}\n />\n );\n },\n };\n}\n","import PropTypes from '../_util/vue-types';\nconst Divider = {\n name: 'ADivider',\n props: {\n prefixCls: PropTypes.string.def('ant'),\n type: PropTypes.oneOf(['horizontal', 'vertical', '']).def('horizontal'),\n dashed: PropTypes.bool,\n orientation: PropTypes.oneOf(['left', 'right']),\n },\n computed: {\n classString() {\n const { prefixCls, type, $slots, dashed, orientation = '' } = this;\n const orientationPrefix = orientation.length > 0 ? '-' + orientation : orientation;\n\n return {\n [`${prefixCls}-divider`]: true,\n [`${prefixCls}-divider-${type}`]: true,\n [`${prefixCls}-divider-with-text${orientationPrefix}`]: $slots.default,\n [`${prefixCls}-divider-dashed`]: !!dashed,\n };\n },\n },\n render() {\n const { classString, prefixCls, $slots } = this;\n return (\n <div class={classString}>\n {$slots.default && <span class={`${prefixCls}-divider-inner-text`}>{$slots.default}</span>}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nDivider.install = function(Vue) {\n Vue.component(Divider.name, Divider);\n};\n\nexport default Divider;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import classnames from 'classnames';\nimport VcDrawer from '../vc-drawer/src';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Icon from '../icon';\nimport { getComponentFromProp, getOptionProps } from '../_util/props-util';\n\nconst Drawer = {\n name: 'ADrawer',\n props: {\n closable: PropTypes.bool.def(true),\n destroyOnClose: PropTypes.bool,\n getContainer: PropTypes.any,\n maskClosable: PropTypes.bool.def(true),\n mask: PropTypes.bool.def(true),\n maskStyle: PropTypes.object,\n wrapStyle: PropTypes.object,\n title: PropTypes.any,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n zIndex: PropTypes.number,\n prefixCls: PropTypes.string.def('ant-drawer'),\n placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('right'),\n level: PropTypes.any.def(null),\n wrapClassName: PropTypes.string, // not use class like react, vue will add class to root dom\n handle: PropTypes.any,\n },\n mixins: [BaseMixin],\n data() {\n this.destoryClose = false;\n this.preVisible = this.$props.visible;\n return {\n _push: false,\n };\n },\n inject: {\n parentDrawer: {\n default: () => null,\n },\n },\n provide() {\n return {\n parentDrawer: this,\n };\n },\n updated() {\n this.$nextTick(() => {\n if (this.preVisible !== this.visible && this.parentDrawer) {\n if (this.visible) {\n this.parentDrawer.push();\n } else {\n this.parentDrawer.pull();\n }\n }\n this.preVisible = this.visible;\n });\n },\n methods: {\n close(e) {\n if (this.visible !== undefined) {\n this.$emit('close', e);\n return;\n }\n },\n onMaskClick(e) {\n if (!this.maskClosable) {\n return;\n }\n this.close(e);\n },\n push() {\n this.setState({\n _push: true,\n });\n },\n pull() {\n this.setState({\n _push: false,\n });\n },\n onDestoryTransitionEnd() {\n const isDestroyOnClose = this.getDestoryOnClose();\n if (!isDestroyOnClose) {\n return;\n }\n if (!this.visible) {\n this.destoryClose = true;\n this.$forceUpdate();\n }\n },\n\n getDestoryOnClose() {\n return this.destroyOnClose && !this.visible;\n },\n // get drawar push width or height\n getPushTransform(placement) {\n if (placement === 'left' || placement === 'right') {\n return `translateX(${placement === 'left' ? 180 : -180}px)`;\n }\n if (placement === 'top' || placement === 'bottom') {\n return `translateY(${placement === 'top' ? 180 : -180}px)`;\n }\n },\n // render drawer body dom\n renderBody() {\n if (this.destoryClose && !this.visible) {\n return null;\n }\n this.destoryClose = false;\n const { placement } = this.$props;\n\n const containerStyle =\n placement === 'left' || placement === 'right'\n ? {\n overflow: 'auto',\n height: '100%',\n }\n : {};\n\n const isDestroyOnClose = this.getDestoryOnClose();\n if (isDestroyOnClose) {\n // Increase the opacity transition, delete children after closing.\n containerStyle.opacity = 0;\n containerStyle.transition = 'opacity .3s';\n }\n const { prefixCls, closable } = this.$props;\n const title = getComponentFromProp(this, 'title');\n // is have header dom\n let header;\n if (title) {\n header = (\n <div key=\"header\" class={`${prefixCls}-header`}>\n <div class={`${prefixCls}-title`}>{title}</div>\n </div>\n );\n }\n // is have closer button\n let closer;\n if (closable) {\n closer = (\n <button key=\"closer\" onClick={this.close} aria-label=\"Close\" class={`${prefixCls}-close`}>\n <span class={`${prefixCls}-close-x`}>\n <Icon type=\"close\" />\n </span>\n </button>\n );\n }\n\n return (\n <div\n class={`${prefixCls}-wrapper-body`}\n style={containerStyle}\n onTransitionend={this.onDestoryTransitionEnd}\n >\n {header}\n {closer}\n <div key=\"body\" class={`${prefixCls}-body`}>\n {this.$slots.default}\n </div>\n </div>\n );\n },\n getRcDrawerStyle() {\n const { zIndex, placement, maskStyle, wrapStyle } = this.$props;\n const { _push: push } = this.$data;\n return {\n ...maskStyle,\n zIndex,\n transform: push ? this.getPushTransform(placement) : undefined,\n ...wrapStyle,\n };\n },\n },\n render() {\n const props = getOptionProps(this);\n const { width, height, visible, placement, wrapClassName, ...rest } = props;\n const haveMask = rest.mask ? '' : 'no-mask';\n const offsetStyle = {};\n if (placement === 'left' || placement === 'right') {\n offsetStyle.width = typeof width === 'number' ? `${width}px` : width;\n } else {\n offsetStyle.height = typeof height === 'number' ? `${height}px` : height;\n }\n const handler = getComponentFromProp(this, 'handle') || false;\n const vcDrawerProps = {\n props: {\n ...rest,\n handler,\n ...offsetStyle,\n open: visible,\n showMask: props.mask,\n placement,\n className: classnames({\n [wrapClassName]: !!wrapClassName,\n [haveMask]: !!haveMask,\n }),\n wrapStyle: this.getRcDrawerStyle(),\n },\n on: {\n maskClick: this.onMaskClick,\n ...this.$listeners,\n },\n };\n return <VcDrawer {...vcDrawerProps}>{this.renderBody()}</VcDrawer>;\n },\n};\n\n/* istanbul ignore next */\nDrawer.install = function(Vue) {\n Vue.component(Drawer.name, Drawer);\n};\n\nexport default Drawer;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","import Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nimport { ButtonGroupProps } from '../button/button-group';\nimport Dropdown from './dropdown';\nimport PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nconst ButtonTypesProps = buttonTypes();\nconst DropdownProps = getDropdownProps();\nconst ButtonGroup = Button.Group;\nconst DropdownButtonProps = {\n ...ButtonGroupProps,\n ...DropdownProps,\n type: PropTypes.oneOf(['primary', 'ghost', 'dashed', 'danger', 'default']).def('default'),\n htmlType: ButtonTypesProps.htmlType,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string.def('ant-dropdown-button'),\n placement: DropdownProps.placement.def('bottomRight'),\n};\nexport { DropdownButtonProps };\nexport default {\n name: 'ADropdownButton',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: DropdownButtonProps,\n methods: {\n onClick(e) {\n this.$emit('click', e);\n },\n onVisibleChange(val) {\n this.$emit('visibleChange', val);\n },\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n render() {\n const {\n type,\n disabled,\n htmlType,\n prefixCls,\n trigger,\n align,\n visible,\n placement,\n getPopupContainer,\n ...restProps\n } = this.$props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const dropdownProps = {\n props: {\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n placement,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n if (hasProp(this, 'visible')) {\n dropdownProps.props.visible = visible;\n }\n\n return (\n <ButtonGroup {...restProps} class={prefixCls}>\n <Button type={type} disabled={disabled} onClick={this.onClick} htmlType={htmlType}>\n {this.$slots.default}\n </Button>\n <Dropdown {...dropdownProps}>\n <template slot=\"overlay\">{getComponentFromProp(this, 'overlay')}</template>\n <Button type={type} icon=\"ellipsis\" />\n </Dropdown>\n </ButtonGroup>\n );\n },\n};\n","import RcDropdown from '../vc-dropdown/src/index';\nimport DropdownButton from './dropdown-button';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getPropsData } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport Icon from '../icon';\n\nconst DropdownProps = getDropdownProps();\nconst Dropdown = {\n name: 'ADropdown',\n props: {\n ...DropdownProps,\n prefixCls: PropTypes.string.def('ant-dropdown'),\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n placement: DropdownProps.placement.def('bottomLeft'),\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n methods: {\n getTransitionName() {\n const { placement = '', transitionName } = this.$props;\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.indexOf('top') >= 0) {\n return 'slide-down';\n }\n return 'slide-up';\n },\n },\n\n render() {\n const { $slots, $listeners } = this;\n const props = getOptionProps(this);\n const { prefixCls, trigger, disabled, getPopupContainer } = props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const dropdownTrigger = cloneElement($slots.default, {\n class: `${prefixCls}-trigger`,\n disabled,\n });\n const overlay = this.overlay || ($slots.overlay && $slots.overlay[0]);\n // menu cannot be selectable in dropdown defaultly\n // menu should be focusable in dropdown defaultly\n const overlayProps = overlay && getPropsData(overlay);\n const { selectable = false, focusable = true } = overlayProps || {};\n\n const expandIcon = (\n <span class={`${prefixCls}-menu-submenu-arrow`}>\n <Icon type=\"right\" class={`${prefixCls}-menu-submenu-arrow-icon`} />\n </span>\n );\n\n const fixedModeOverlay =\n overlay && overlay.componentOptions\n ? cloneElement(overlay, {\n props: {\n mode: 'vertical',\n selectable,\n focusable,\n expandIcon,\n },\n })\n : overlay;\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.indexOf('contextmenu') !== -1) {\n alignPoint = true;\n }\n const dropdownProps = {\n props: {\n alignPoint,\n ...props,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: this.getTransitionName(),\n trigger: triggerActions,\n },\n on: $listeners,\n };\n return (\n <RcDropdown {...dropdownProps}>\n {dropdownTrigger}\n <template slot=\"overlay\">{fixedModeOverlay}</template>\n </RcDropdown>\n );\n },\n};\n\nDropdown.Button = DropdownButton;\nexport default Dropdown;\nexport { DropdownProps };\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n trigger: PropTypes.array.def(['hover']),\n overlay: PropTypes.any,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n align: PropTypes.object,\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf([\n 'topLeft',\n 'topCenter',\n 'topRight',\n 'bottomLeft',\n 'bottomCenter',\n 'bottomRight',\n ]),\n overlayClassName: PropTypes.string,\n overlayStyle: PropTypes.object,\n forceRender: PropTypes.bool,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n});\n","import Dropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\n\nexport { DropdownProps } from './dropdown';\nexport { DropdownButtonProps } from './dropdown-button';\n\nDropdown.Button = DropdownButton;\n\n/* istanbul ignore next */\nDropdown.install = function(Vue) {\n Vue.component(Dropdown.name, Dropdown);\n Vue.component(DropdownButton.name, DropdownButton);\n};\n\nexport default Dropdown;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport Vue from 'vue';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport createDOMForm from '../vc-form/src/createDOMForm';\nimport createFormField from '../vc-form/src/createFormField';\nimport FormItem from './FormItem';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport { initDefaultProps } from '../_util/props-util';\n\nexport const FormCreateOption = {\n onFieldsChange: PropTypes.func,\n onValuesChange: PropTypes.func,\n mapPropsToFields: PropTypes.func,\n validateMessages: PropTypes.any,\n withRef: PropTypes.bool,\n};\n\n// function create\nexport const WrappedFormUtils = {\n /** 获取一组输入控件的值,如不传入参数,则获取全部组件的值 */\n getFieldsValue: PropTypes.func,\n /** 获取一个输入控件的值*/\n getFieldValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFieldsValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFields: PropTypes.func,\n /** 校验并获取一组输入域的值与 Error */\n validateFields: PropTypes.func,\n // validateFields(fieldNames: Array<string>, options: Object, callback: ValidateCallback): void;\n // validateFields(fieldNames: Array<string>, callback: ValidateCallback): void;\n // validateFields(options: Object, callback: ValidateCallback): void;\n // validateFields(callback: ValidateCallback): void;\n // validateFields(): void;\n /** 与 `validateFields` 相似,但校验完后,如果校验不通过的菜单域不在可见范围内,则自动滚动进可见范围 */\n validateFieldsAndScroll: PropTypes.func,\n // validateFieldsAndScroll(fieldNames?: Array<string>, options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(fieldNames?: Array<string>, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(callback?: ValidateCallback): void;\n // validateFieldsAndScroll(): void;\n /** 获取某个输入控件的 Error */\n getFieldError: PropTypes.func,\n getFieldsError: PropTypes.func,\n /** 判断一个输入控件是否在校验状态*/\n isFieldValidating: PropTypes.func,\n isFieldTouched: PropTypes.func,\n isFieldsTouched: PropTypes.func,\n /** 重置一组输入控件的值与状态,如不传入参数,则重置所有组件 */\n resetFields: PropTypes.func,\n\n getFieldDecorator: PropTypes.func,\n};\n\nexport const FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n form: PropTypes.object,\n // onSubmit: React.FormEventHandler<any>;\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n autoFormCreate: PropTypes.func,\n options: PropTypes.object,\n};\n\nexport const ValidationRule = {\n /** validation error message */\n message: PropTypes.string,\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\n// export type ValidateCallback = (errors: any, values: any) => void;\n\n// export type GetFieldDecoratorOptions = {\n// /** 子节点的值的属性,如 Checkbox 的是 'checked' */\n// valuePropName?: string;\n// /** 子节点的初始值,类型、可选值均由子节点决定 */\n// initialValue?: any;\n// /** 收集子节点的值的时机 */\n// trigger?: string;\n// /** 可以把 onChange 的参数转化为控件的值,例如 DatePicker 可设为:(date, dateString) => dateString */\n// getValueFromEvent?: (...args: any[]) => any;\n// /** Get the component props according to field value. */\n// getValueProps?: (value: any) => any;\n// /** 校验子节点值的时机 */\n// validateTrigger?: string | string[];\n// /** 校验规则,参见 [async-validator](https://github.com/yiminghe/async-validator) */\n// rules?: ValidationRule[];\n// /** 是否和其他控件互斥,特别用于 Radio 单选控件 */\n// exclusive?: boolean;\n// /** Normalize value to form component */\n// normalize?: (value: any, prevValue: any, allValues: any) => any;\n// /** Whether stop validate on first rule of error for this field. */\n// validateFirst?: boolean;\n// /** 是否一直保留子节点的信息 */\n// preserve?: boolean;\n// };\n\nconst Form = {\n name: 'AForm',\n props: initDefaultProps(FormProps, {\n prefixCls: 'ant-form',\n layout: 'horizontal',\n hideRequiredMark: false,\n }),\n\n Item: FormItem,\n\n createFormField: createFormField,\n\n create: (options = {}) => {\n return createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n });\n },\n createForm(context, options = {}) {\n return new Vue(Form.create({ ...options, templateContext: context })());\n },\n created() {\n this.formItemContexts = new Map();\n },\n provide() {\n return {\n FormProps: this.$props,\n // https://github.com/vueComponent/ant-design-vue/issues/446\n collectFormItemContext:\n this.form && this.form.templateContext\n ? (c, type = 'add') => {\n const formItemContexts = this.formItemContexts;\n const number = formItemContexts.get(c) || 0;\n if (type === 'delete') {\n if (number <= 1) {\n formItemContexts.delete(c);\n } else {\n formItemContexts.set(c, number - 1);\n }\n } else {\n if (c !== this.form.templateContext) {\n formItemContexts.set(c, number + 1);\n }\n }\n }\n : () => {},\n };\n },\n watch: {\n form() {\n this.$forceUpdate();\n },\n },\n beforeUpdate() {\n this.formItemContexts.forEach((number, c) => {\n if (c.$forceUpdate) {\n c.$forceUpdate();\n }\n });\n },\n updated() {\n if (this.form && this.form.cleanUpUselessFields) {\n this.form.cleanUpUselessFields();\n }\n },\n methods: {\n onSubmit(e) {\n const { $listeners } = this;\n if (!$listeners.submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n },\n\n render() {\n const {\n prefixCls,\n hideRequiredMark,\n layout,\n onSubmit,\n $slots,\n autoFormCreate,\n options = {},\n } = this;\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n if (autoFormCreate) {\n warning(false, '`autoFormCreate` is deprecated. please use `form` instead.');\n const DomForm =\n this.DomForm ||\n createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n templateContext: this.$vnode.context,\n })({\n provide() {\n return {\n decoratorFormProps: this.$props,\n };\n },\n data() {\n return {\n children: $slots.default,\n formClassName: formClassName,\n submit: onSubmit,\n };\n },\n created() {\n autoFormCreate(this.form);\n },\n render() {\n const { children, formClassName, submit } = this;\n return (\n <form onSubmit={submit} class={formClassName}>\n {children}\n </form>\n );\n },\n });\n if (this.domForm) {\n this.domForm.children = $slots.default;\n this.domForm.submit = onSubmit;\n this.domForm.formClassName = formClassName;\n }\n this.DomForm = DomForm;\n\n return (\n <DomForm\n wrappedComponentRef={inst => {\n this.domForm = inst;\n }}\n />\n );\n }\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import intersperse from 'intersperse';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport find from 'lodash/find';\nimport Row from '../grid/Row';\nimport Col, { ColProps } from '../grid/Col';\nimport warning from '../_util/warning';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getSlotOptions,\n isValidElement,\n getAllChildren,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement, cloneVNodes } from '../_util/vnode';\nimport Icon from '../icon';\n\nfunction noop() {}\nexport const FormItemProps = {\n id: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n help: PropTypes.any,\n extra: PropTypes.any,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n hasFeedback: PropTypes.bool,\n required: PropTypes.bool,\n colon: PropTypes.bool,\n fieldDecoratorId: PropTypes.string,\n fieldDecoratorOptions: PropTypes.object,\n};\nfunction comeFromSlot(vnodes = [], itemVnode) {\n let isSlot = false;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (vnode && (vnode === itemVnode || vnode.$vnode === itemVnode)) {\n isSlot = true;\n } else {\n const children = vnode.componentOptions ? vnode.componentOptions.children : vnode.children;\n isSlot = comeFromSlot(children, itemVnode);\n }\n if (isSlot) {\n break;\n }\n }\n return isSlot;\n}\n\nexport default {\n name: 'AFormItem',\n __ANT_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n prefixCls: 'ant-form',\n colon: true,\n }),\n inject: {\n FormProps: { default: () => ({}) },\n decoratorFormProps: { default: () => ({}) },\n collectFormItemContext: { default: () => noop },\n },\n data() {\n return { helpShow: false };\n },\n created() {\n this.collectContext();\n },\n beforeUpdate() {\n if (process.env.NODE_ENV !== 'production') {\n this.collectContext();\n }\n },\n beforeDestroy() {\n this.collectFormItemContext(this.$vnode.context, 'delete');\n },\n mounted() {\n warning(\n this.getControls(this.slotDefault, true).length <= 1,\n '`Form.Item` cannot generate `validateStatus` and `help` automatically, ' +\n 'while there are more than one `getFieldDecorator` in it.',\n );\n warning(\n !this.fieldDecoratorId,\n '`fieldDecoratorId` is deprecated. please use `v-decorator={id, options}` instead.',\n );\n },\n methods: {\n collectContext() {\n if (this.FormProps.form && this.FormProps.form.templateContext) {\n const { templateContext } = this.FormProps.form;\n const vnodes = Object.values(templateContext.$slots || {}).reduce((a, b) => {\n return [...a, ...b];\n }, []);\n const isSlot = comeFromSlot(vnodes, this.$vnode);\n warning(!isSlot, 'You can not set FormItem from slot, please use slot-scope instead slot');\n let isSlotScope = false;\n // 进一步判断是否是通过slot-scope传递\n if (!isSlot && this.$vnode.context !== templateContext) {\n isSlotScope = comeFromSlot(this.$vnode.context.$children, templateContext.$vnode);\n }\n if (!isSlotScope && !isSlot) {\n this.collectFormItemContext(this.$vnode.context);\n }\n }\n },\n getHelpMessage() {\n const help = getComponentFromProp(this, 'help');\n const onlyControl = this.getOnlyControl();\n if (help === undefined && onlyControl) {\n const errors = this.getField().errors;\n if (errors) {\n return intersperse(\n errors.map((e, index) => {\n return isValidElement(e.message)\n ? cloneElement(e.message, { key: index })\n : e.message;\n }),\n ' ',\n );\n } else {\n return '';\n }\n }\n\n return help;\n },\n\n getControls(childrenArray = [], recursively) {\n let controls = [];\n for (let i = 0; i < childrenArray.length; i++) {\n if (!recursively && controls.length > 0) {\n break;\n }\n\n const child = childrenArray[i];\n if (!child.tag && child.text.trim() === '') {\n continue;\n }\n\n if (getSlotOptions(child).__ANT_FORM_ITEM) {\n continue;\n }\n const children = getAllChildren(child);\n const attrs = (child.data && child.data.attrs) || {};\n if (FIELD_META_PROP in attrs) {\n // And means FIELD_DATA_PROP in child.props, too.\n controls.push(child);\n } else if (children) {\n controls = controls.concat(this.getControls(children, recursively));\n }\n }\n return controls;\n },\n\n getOnlyControl() {\n const child = this.getControls(this.slotDefault, false)[0];\n return child !== undefined ? child : null;\n },\n\n getChildAttr(prop) {\n const child = this.getOnlyControl();\n let data = {};\n if (!child) {\n return undefined;\n }\n if (child.data) {\n data = child.data;\n } else if (child.$vnode && child.$vnode.data) {\n data = child.$vnode.data;\n }\n return data[prop] || data.attrs[prop];\n },\n\n getId() {\n return this.getChildAttr('id');\n },\n\n getMeta() {\n return this.getChildAttr(FIELD_META_PROP);\n },\n\n getField() {\n return this.getChildAttr(FIELD_DATA_PROP);\n },\n\n onHelpAnimEnd(_key, helpShow) {\n this.helpShow = helpShow;\n if (!helpShow) {\n this.$forceUpdate();\n }\n },\n\n renderHelp() {\n const prefixCls = this.prefixCls;\n const help = this.getHelpMessage();\n const children = help ? (\n <div class={`${prefixCls}-explain`} key=\"help\">\n {help}\n </div>\n ) : null;\n if (children) {\n this.helpShow = !!children;\n }\n const transitionProps = getTransitionProps('show-help', {\n afterEnter: () => this.onHelpAnimEnd('help', true),\n afterLeave: () => this.onHelpAnimEnd('help', false),\n });\n return (\n <transition {...transitionProps} key=\"help\">\n {children}\n </transition>\n );\n },\n\n renderExtra() {\n const { prefixCls } = this;\n const extra = getComponentFromProp(this, 'extra');\n return extra ? <div class={`${prefixCls}-extra`}>{extra}</div> : null;\n },\n\n getValidateStatus() {\n const onlyControl = this.getOnlyControl();\n if (!onlyControl) {\n return '';\n }\n const field = this.getField();\n if (field.validating) {\n return 'validating';\n }\n if (field.errors) {\n return 'error';\n }\n const fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;\n if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {\n return 'success';\n }\n return '';\n },\n\n renderValidateWrapper(c1, c2, c3) {\n const props = this.$props;\n const onlyControl = this.getOnlyControl;\n const validateStatus =\n props.validateStatus === undefined && onlyControl\n ? this.getValidateStatus()\n : props.validateStatus;\n\n let classes = `${props.prefixCls}-item-control`;\n if (validateStatus) {\n classes = classNames(`${props.prefixCls}-item-control`, {\n 'has-feedback': props.hasFeedback || validateStatus === 'validating',\n 'has-success': validateStatus === 'success',\n 'has-warning': validateStatus === 'warning',\n 'has-error': validateStatus === 'error',\n 'is-validating': validateStatus === 'validating',\n });\n }\n let iconType = '';\n switch (validateStatus) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'validating':\n iconType = 'loading';\n break;\n default:\n iconType = '';\n break;\n }\n const icon =\n props.hasFeedback && iconType ? (\n <span class={`${props.prefixCls}-item-children-icon`}>\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n </span>\n ) : null;\n return (\n <div class={classes}>\n <span class={`${props.prefixCls}-item-children`}>\n {c1}\n {icon}\n </span>\n {c2}\n {c3}\n </div>\n );\n },\n\n renderWrapper(children) {\n const { prefixCls, wrapperCol = {} } = this;\n const { class: cls, style, id, on, ...restProps } = wrapperCol;\n const className = classNames(`${prefixCls}-item-control-wrapper`, cls);\n const colProps = {\n props: restProps,\n class: className,\n key: 'wrapper',\n style,\n id,\n on,\n };\n return <Col {...colProps}>{children}</Col>;\n },\n\n isRequired() {\n const { required } = this;\n if (required !== undefined) {\n return required;\n }\n if (this.getOnlyControl()) {\n const meta = this.getMeta() || {};\n const validate = meta.validate || [];\n\n return validate\n .filter(item => !!item.rules)\n .some(item => {\n return item.rules.some(rule => rule.required);\n });\n }\n return false;\n },\n\n // Resolve duplicated ids bug between different forms\n // https://github.com/ant-design/ant-design/issues/7351\n onLabelClick(e) {\n const label = getComponentFromProp(this, 'label');\n const id = this.id || this.getId();\n if (!id) {\n return;\n }\n const controls = document.querySelectorAll(`[id=\"${id}\"]`);\n if (controls.length !== 1) {\n // Only prevent in default situation\n // Avoid preventing event in `label={<a href=\"xx\">link</a>}``\n if (typeof label === 'string') {\n e.preventDefault();\n }\n const control = this.$el.querySelector(`[id=\"${id}\"]`);\n if (control && control.focus) {\n control.focus();\n }\n }\n },\n\n renderLabel() {\n const { prefixCls, labelCol = {}, colon, id } = this;\n const label = getComponentFromProp(this, 'label');\n const required = this.isRequired();\n const {\n class: labelColClass,\n style: labelColStyle,\n id: labelColId,\n on,\n ...restProps\n } = labelCol;\n const labelColClassName = classNames(`${prefixCls}-item-label`, labelColClass);\n const labelClassName = classNames({\n [`${prefixCls}-item-required`]: required,\n });\n\n let labelChildren = label;\n // Keep label is original where there should have no colon\n const haveColon = colon && this.FormProps.layout !== 'vertical';\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[:|:]\\s*$/, '');\n }\n const colProps = {\n props: restProps,\n class: labelColClassName,\n key: 'label',\n style: labelColStyle,\n id: labelColId,\n on,\n };\n\n return label ? (\n <Col {...colProps}>\n <label\n for={id || this.getId()}\n class={labelClassName}\n title={typeof label === 'string' ? label : ''}\n onClick={this.onLabelClick}\n >\n {labelChildren}\n </label>\n </Col>\n ) : null;\n },\n renderChildren() {\n return [\n this.renderLabel(),\n this.renderWrapper(\n this.renderValidateWrapper(this.slotDefault, this.renderHelp(), this.renderExtra()),\n ),\n ];\n },\n renderFormItem(children) {\n const props = this.$props;\n const prefixCls = props.prefixCls;\n const itemClassName = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-with-help`]: this.helpShow,\n [`${prefixCls}-item-no-colon`]: !props.colon,\n };\n\n return <Row class={classNames(itemClassName)}>{children}</Row>;\n },\n decoratorOption(vnode) {\n if (vnode.data && vnode.data.directives) {\n const directive = find(vnode.data.directives, ['name', 'decorator']);\n warning(\n !directive || (directive && Array.isArray(directive.value)),\n `Invalid directive: type check failed for directive \"decorator\". Expected Array, got ${typeof directive.value}. At ${\n vnode.tag\n }.`,\n );\n return directive ? directive.value : null;\n } else {\n return null;\n }\n },\n decoratorChildren(vnodes) {\n const { FormProps } = this;\n const getFieldDecorator = FormProps.form.getFieldDecorator;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (getSlotOptions(vnode).__ANT_FORM_ITEM) {\n break;\n }\n if (vnode.children) {\n vnode.children = this.decoratorChildren(cloneVNodes(vnode.children));\n } else if (vnode.componentOptions && vnode.componentOptions.children) {\n vnode.componentOptions.children = this.decoratorChildren(\n cloneVNodes(vnode.componentOptions.children),\n );\n }\n const option = this.decoratorOption(vnode);\n if (option && option[0]) {\n vnodes[i] = getFieldDecorator(option[0], option[1])(vnode);\n }\n }\n return vnodes;\n },\n },\n\n render() {\n const {\n $slots,\n decoratorFormProps,\n fieldDecoratorId,\n fieldDecoratorOptions = {},\n FormProps,\n } = this;\n let child = filterEmpty($slots.default || []);\n if (decoratorFormProps.form && fieldDecoratorId && child.length) {\n const getFieldDecorator = decoratorFormProps.form.getFieldDecorator;\n child[0] = getFieldDecorator(fieldDecoratorId, fieldDecoratorOptions)(child[0]);\n warning(\n !(child.length > 1),\n '`autoFormCreate` just `decorator` then first children. but you can use JSX to support multiple children',\n );\n this.slotDefault = child;\n } else if (FormProps.form) {\n child = cloneVNodes(child);\n this.slotDefault = this.decoratorChildren(child);\n } else {\n this.slotDefault = child;\n }\n\n const children = this.renderChildren();\n return this.renderFormItem(children);\n },\n};\n","export const FIELD_META_PROP = 'data-__meta';\nexport const FIELD_DATA_PROP = 'data-__field';\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\nVue.prototype.$form = Form;\n\nexport { FormProps, FormCreateOption, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n Vue.prototype.$form = Form;\n};\n\nexport default Form;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\n\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n\nexport const ColSize = PropTypes.shape({\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n}).loose;\n\nconst objectOrNumber = PropTypes.oneOfType([PropTypes.number, ColSize]);\n\nexport const ColProps = {\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n xs: objectOrNumber,\n sm: objectOrNumber,\n md: objectOrNumber,\n lg: objectOrNumber,\n xl: objectOrNumber,\n xxl: objectOrNumber,\n prefixCls: PropTypes.string,\n};\n\nexport default {\n name: 'ACol',\n props: ColProps,\n inject: {\n rowContext: {\n default: () => null,\n },\n },\n render() {\n const {\n span,\n order,\n offset,\n push,\n pull,\n prefixCls = 'ant-col',\n $slots,\n $attrs,\n $listeners,\n rowContext,\n } = this;\n let sizeClassObj = {};\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(size => {\n let sizeProps = {};\n if (typeof this[size] === 'number') {\n sizeProps.span = this[size];\n } else if (typeof this[size] === 'object') {\n sizeProps = this[size] || {};\n }\n\n sizeClassObj = {\n ...sizeClassObj,\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]:\n sizeProps.offset || sizeProps.offset === 0,\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n };\n });\n const classes = {\n [`${prefixCls}-${span}`]: span !== undefined,\n [`${prefixCls}-order-${order}`]: order,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-push-${push}`]: push,\n [`${prefixCls}-pull-${pull}`]: pull,\n ...sizeClassObj,\n };\n const divProps = {\n on: $listeners,\n attrs: $attrs,\n class: classes,\n style: {},\n };\n if (rowContext) {\n const gutter = rowContext.getGutter();\n if (gutter > 0) {\n divProps.style = {\n paddingLeft: `${gutter / 2}px`,\n paddingRight: `${gutter / 2}px`,\n };\n }\n }\n return <div {...divProps}>{$slots.default}</div>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nlet enquire = null;\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n enquire = require('enquire.js');\n}\n\nconst BreakpointMap = PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n xxl: PropTypes.number,\n}).loose;\n\nconst RowProps = {\n gutter: PropTypes.oneOfType([PropTypes.number, BreakpointMap]),\n type: PropTypes.oneOf(['flex']),\n align: PropTypes.oneOf(['top', 'middle', 'bottom']),\n justify: PropTypes.oneOf(['start', 'end', 'center', 'space-around', 'space-between']),\n prefixCls: PropTypes.string,\n};\n\nconst responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nconst responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)',\n};\n\nexport default {\n name: 'ARow',\n mixins: [BaseMixin],\n props: {\n ...RowProps,\n gutter: PropTypes.oneOfType([PropTypes.number, BreakpointMap]).def(0),\n },\n provide() {\n return {\n rowContext: this,\n };\n },\n data() {\n return {\n screens: {},\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n Object.keys(responsiveMap).map(screen =>\n enquire.register(responsiveMap[screen], {\n match: () => {\n if (typeof this.gutter !== 'object') {\n return;\n }\n this.setState(prevState => ({\n screens: {\n ...prevState.screens,\n [screen]: true,\n },\n }));\n },\n unmatch: () => {\n if (typeof this.gutter !== 'object') {\n return;\n }\n this.setState(prevState => ({\n screens: {\n ...prevState.screens,\n [screen]: false,\n },\n }));\n },\n // Keep a empty destory to avoid triggering unmatch when unregister\n destroy() {},\n }),\n );\n });\n },\n beforeDestroy() {\n Object.keys(responsiveMap).map(screen => enquire.unregister(responsiveMap[screen]));\n },\n methods: {\n getGutter() {\n const { gutter } = this;\n if (typeof gutter === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (this.screens[breakpoint] && gutter[breakpoint] !== undefined) {\n return gutter[breakpoint];\n }\n }\n }\n return gutter;\n },\n },\n\n render() {\n const { type, justify, align, prefixCls = 'ant-row', $slots } = this;\n const gutter = this.getGutter();\n const classes = {\n [prefixCls]: !type,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${type}-${justify}`]: type && justify,\n [`${prefixCls}-${type}-${align}`]: type && align,\n };\n const rowStyle =\n gutter > 0\n ? {\n marginLeft: `${gutter / -2}px`,\n marginRight: `${gutter / -2}px`,\n }\n : {};\n return (\n <div class={classes} style={rowStyle}>\n {$slots.default}\n </div>\n );\n },\n};\n","import Row from './Row';\nimport Col from './Col';\n\nexport { Row, Col };\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from './index';\n\nconst customCache = new Set();\n\nexport default function create(options) {\n const { scriptUrl } = options;\n\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a <script/>\n * that loads SVG symbols and insert the SVG Element into the document body.\n */\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof document.createElement === 'function' &&\n typeof scriptUrl === 'string' &&\n scriptUrl.length &&\n !customCache.has(scriptUrl)\n ) {\n const script = document.createElement('script');\n script.setAttribute('src', scriptUrl);\n script.setAttribute('data-namespace', scriptUrl);\n customCache.add(scriptUrl);\n document.body.appendChild(script);\n }\n\n const Iconfont = {\n functional: true,\n name: 'AIconfont',\n props: Icon.props,\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const { type, ...restProps } = props;\n const slotsMap = slots();\n const children = slotsMap.default;\n // component > children > type\n let content = null;\n if (type) {\n content = <use {...{ attrs: { 'xlink:href': `#${type}` } }} />;\n }\n if (children) {\n content = children;\n }\n return <Icon {...{ ...data, props: restProps, on: listeners }}>{content}</Icon>;\n },\n };\n return Iconfont;\n}\n","import classNames from 'classnames';\nimport * as allIcons from '@ant-design/icons/lib/dist';\nimport VueIcon from '@ant-design/icons-vue';\nimport PropTypes from '../_util/vue-types';\nimport createFromIconfontCN from './IconFont';\nimport {\n svgBaseProps,\n withThemeSuffix,\n removeTypeTheme,\n getThemeFromTypeName,\n alias,\n} from './utils';\nimport warning from '../_util/warning';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { filterEmpty, getClass } from '../_util/props-util';\n\n// Initial setting\nVueIcon.add(...Object.keys(allIcons).map(key => allIcons[key]));\nsetTwoToneColor('#1890ff');\nconst defaultTheme = 'outlined';\nlet dangerousTheme;\n\nconst Icon = {\n functional: true,\n name: 'AIcon',\n props: {\n type: PropTypes.string,\n component: PropTypes.any,\n viewBox: PropTypes.any,\n spin: PropTypes.bool.def(false),\n theme: PropTypes.oneOf(['filled', 'outlined', 'twoTone']),\n twoToneColor: PropTypes.string,\n },\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const {\n // affect inner <svg>...</svg>\n type,\n component: Component,\n viewBox,\n spin,\n // other\n theme, // default to outlined\n twoToneColor,\n } = props;\n const slotsMap = slots();\n let children = filterEmpty(slotsMap.default);\n children = children.length === 0 ? undefined : children;\n warning(\n Boolean(type || Component || children),\n 'Icon should have `type` prop or `component` prop or `children`.',\n );\n\n const classString = classNames({\n ...getClass(context),\n [`anticon`]: true,\n [`anticon-${type}`]: !!type,\n });\n\n const svgClassString = classNames({\n [`anticon-spin`]: !!spin || type === 'loading',\n });\n\n let innerNode;\n\n // component > children > type\n if (Component) {\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n viewBox,\n },\n class: svgClassString,\n };\n if (!viewBox) {\n delete innerSvgProps.attrs.viewBox;\n }\n\n innerNode = <Component {...innerSvgProps}>{children}</Component>;\n }\n if (children) {\n warning(\n Boolean(viewBox) || (children.length === 1 && children[0].tag === 'use'),\n 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.',\n );\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n },\n class: svgClassString,\n };\n innerNode = (\n <svg {...innerSvgProps} viewBox={viewBox}>\n {children}\n </svg>\n );\n }\n\n if (typeof type === 'string') {\n let computedType = type;\n if (theme) {\n const themeInName = getThemeFromTypeName(type);\n warning(\n !themeInName || theme === themeInName,\n `The icon name '${type}' already specify a theme '${themeInName}',` +\n ` the 'theme' prop '${theme}' will be ignored.`,\n );\n }\n computedType = withThemeSuffix(\n removeTypeTheme(alias(computedType)),\n dangerousTheme || theme || defaultTheme,\n );\n innerNode = (\n <VueIcon class={svgClassString} type={computedType} primaryColor={twoToneColor} />\n );\n }\n // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526\n const iProps = {\n ...data,\n on: { ...listeners, ...data.nativeOn },\n class: classString,\n staticClass: '',\n };\n return <i {...iProps}>{innerNode}</i>;\n },\n};\n\nIcon.createFromIconfontCN = createFromIconfontCN;\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n\n/* istanbul ignore next */\nIcon.install = function(Vue) {\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import VueIcon from '@ant-design/icons-vue';\n\nexport function setTwoToneColor(primaryColor) {\n return VueIcon.setTwoToneColors({\n primaryColor,\n });\n}\n\nexport function getTwoToneColor() {\n const colors = VueIcon.getTwoToneColors();\n return colors.primaryColor;\n}\n","import warning from '../_util/warning';\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport const svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false',\n};\n\nconst fillTester = /-fill$/;\nconst outlineTester = /-o$/;\nconst twoToneTester = /-twotone$/;\n\nexport function getThemeFromTypeName(type) {\n let result = null;\n if (fillTester.test(type)) {\n result = 'filled';\n } else if (outlineTester.test(type)) {\n result = 'outlined';\n } else if (twoToneTester.test(type)) {\n result = 'twoTone';\n }\n return result;\n}\n\nexport function removeTypeTheme(type) {\n return type\n .replace(fillTester, '')\n .replace(outlineTester, '')\n .replace(twoToneTester, '');\n}\n\nexport function withThemeSuffix(type, theme) {\n let result = type;\n if (theme === 'filled') {\n result += '-fill';\n } else if (theme === 'outlined') {\n result += '-o';\n } else if (theme === 'twoTone') {\n result += '-twotone';\n } else {\n warning(false, `This icon '${type}' has unknown theme '${theme}'`);\n }\n return result;\n}\n\n// For alias or compatibility\nexport function alias(type) {\n switch (type) {\n case 'cross':\n return 'close';\n default:\n }\n return type;\n}\n","/* @remove-on-es-build-begin */\n// this file is not used if use https://github.com/ant-design/babel-plugin-import\nconst ENV = process.env.NODE_ENV;\nif (\n ENV !== 'production' &&\n ENV !== 'test' &&\n typeof console !== 'undefined' &&\n console.warn &&\n typeof window !== 'undefined'\n) {\n console.warn(\n 'You are using a whole package of antd, ' +\n 'please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.',\n );\n}\n/* @remove-on-es-build-end */\n\nimport { default as Affix } from './affix';\n\nimport { default as Anchor } from './anchor';\n\nimport { default as AutoComplete } from './auto-complete';\n\nimport { default as Alert } from './alert';\n\nimport { default as Avatar } from './avatar';\n\nimport { default as BackTop } from './back-top';\n\nimport { default as Badge } from './badge';\n\nimport { default as Breadcrumb } from './breadcrumb';\n\nimport { default as Button } from './button';\n\nimport { default as Calendar } from './calendar';\n\nimport { default as Card } from './card';\n\nimport { default as Collapse } from './collapse';\n\nimport { default as Carousel } from './carousel';\n\nimport { default as Cascader } from './cascader';\n\nimport { default as Checkbox } from './checkbox';\n\nimport { default as Col } from './col';\n\nimport { default as DatePicker } from './date-picker';\n\nimport { default as Divider } from './divider';\n\nimport { default as Dropdown } from './dropdown';\n\nimport { default as Form } from './form';\n\nimport { default as Icon } from './icon';\n\nimport { default as Input } from './input';\n\nimport { default as InputNumber } from './input-number';\n\nimport { default as Layout } from './layout';\n\nimport { default as List } from './list';\n\nimport { default as LocaleProvider } from './locale-provider';\n\nimport { default as message } from './message';\n\nimport { default as Menu } from './menu';\n\nimport { default as Modal } from './modal';\n\nimport { default as notification } from './notification';\n\nimport { default as Pagination } from './pagination';\n\nimport { default as Popconfirm } from './popconfirm';\n\nimport { default as Popover } from './popover';\n\nimport { default as Progress } from './progress';\n\nimport { default as Radio } from './radio';\n\nimport { default as Rate } from './rate';\n\nimport { default as Row } from './row';\n\nimport { default as Select } from './select';\n\nimport { default as Slider } from './slider';\n\nimport { default as Spin } from './spin';\n\nimport { default as Steps } from './steps';\n\nimport { default as Switch } from './switch';\n\nimport { default as Table } from './table';\n\nimport { default as Transfer } from './transfer';\n\nimport { default as Tree } from './tree';\n\nimport { default as TreeSelect } from './tree-select';\n\nimport { default as Tabs } from './tabs';\n\nimport { default as Tag } from './tag';\n\nimport { default as TimePicker } from './time-picker';\n\nimport { default as Timeline } from './timeline';\n\nimport { default as Tooltip } from './tooltip';\n\n// import { default as Mention } from './mention'\n\nimport { default as Upload } from './upload';\n\nimport { default as version } from './version';\n\nimport { default as Drawer } from './drawer';\n\nimport { default as Skeleton } from './skeleton';\n\nimport { default as Comment } from './comment';\n\nimport { default as ConfigProvider } from './config-provider';\n\nconst components = [\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n ConfigProvider,\n];\n\nconst install = function(Vue) {\n components.map(component => {\n Vue.use(component);\n });\n\n Vue.prototype.$message = message;\n Vue.prototype.$notification = notification;\n Vue.prototype.$info = Modal.info;\n Vue.prototype.$success = Modal.success;\n Vue.prototype.$error = Modal.error;\n Vue.prototype.$warning = Modal.warning;\n Vue.prototype.$confirm = Modal.confirm;\n};\n\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\nexport {\n version,\n install,\n message,\n notification,\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n ConfigProvider,\n};\n\nexport default {\n version,\n install,\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport VcInputNumber from '../vc-input-number/src';\n\nexport const InputNumberProps = {\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.number,\n tabIndex: PropTypes.number,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n formatter: PropTypes.func,\n parser: PropTypes.func,\n decimalSeparator: PropTypes.string,\n placeholder: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n precision: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nconst InputNumber = {\n name: 'AInputNumber',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(InputNumberProps, {\n prefixCls: 'ant-input-number',\n step: 1,\n }),\n methods: {\n focus() {\n this.$refs.inputNumberRef.focus();\n },\n blur() {\n this.$refs.inputNumberRef.blur();\n },\n },\n\n render() {\n const { size, ...others } = getOptionProps(this);\n const inputNumberClass = classNames({\n [`${this.prefixCls}-lg`]: size === 'large',\n [`${this.prefixCls}-sm`]: size === 'small',\n });\n const upIcon = <Icon type=\"up\" class={`${this.prefixCls}-handler-up-inner`} />;\n const downIcon = <Icon type=\"down\" class={`${this.prefixCls}-handler-down-inner`} />;\n\n const vcInputNumberprops = {\n props: {\n upHandler: upIcon,\n downHandler: downIcon,\n ...others,\n },\n class: inputNumberClass,\n ref: 'inputNumberRef',\n on: this.$listeners,\n };\n return <VcInputNumber {...vcInputNumberprops} />;\n },\n};\n\n/* istanbul ignore next */\nInputNumber.install = function(Vue) {\n Vue.component(InputNumber.name, InputNumber);\n};\n\nexport default InputNumber;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { filterEmpty } from '../_util/props-util';\nexport default {\n name: 'AInputGroup',\n props: {\n prefixCls: {\n default: 'ant-input-group',\n type: String,\n },\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n compact: Boolean,\n },\n computed: {\n classes() {\n const { prefixCls, size, compact = false } = this;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-compact`]: compact,\n };\n },\n },\n methods: {},\n render() {\n const { $listeners } = this;\n return (\n <span class={this.classes} {...{ on: $listeners }}>\n {filterEmpty(this.$slots.default)}\n </span>\n );\n },\n};\n","import classNames from 'classnames';\nimport TextArea from './TextArea';\nimport omit from 'omit.js';\nimport inputProps from './inputProps';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport { isIE, isIE9 } from '../_util/env';\n\nfunction noop() {}\n\nfunction fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return value;\n}\n\nexport default {\n name: 'AInput',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n },\n data() {\n const { value, defaultValue } = this.$props;\n return {\n stateValue: fixControlledValue(!hasProp(this, 'value') ? defaultValue : value),\n };\n },\n watch: {\n value(val) {\n this.stateValue = fixControlledValue(val);\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n handleChange(e) {\n // https://github.com/vueComponent/ant-design-vue/issues/92\n if (isIE && !isIE9 && this.stateValue === e.target.value) {\n return;\n }\n if (!hasProp(this, 'value')) {\n this.stateValue = e.target.value;\n } else {\n this.$forceUpdate();\n }\n if (!e.target.composing) {\n this.$emit('change.value', e.target.value);\n }\n this.$emit('change', e);\n this.$emit('input', e);\n },\n\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n select() {\n this.$refs.input.select();\n },\n\n getInputClassName() {\n const { prefixCls, size, disabled } = this.$props;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-disabled`]: disabled,\n };\n },\n renderLabeledInput(children) {\n const props = this.$props;\n let addonAfter = getComponentFromProp(this, 'addonAfter');\n let addonBefore = getComponentFromProp(this, 'addonBefore');\n // Not wrap when there is not addons\n if (!addonBefore && !addonAfter) {\n return children;\n }\n\n const wrapperClassName = `${props.prefixCls}-group`;\n const addonClassName = `${wrapperClassName}-addon`;\n addonBefore = addonBefore ? <span class={addonClassName}>{addonBefore}</span> : null;\n\n addonAfter = addonAfter ? <span class={addonClassName}>{addonAfter}</span> : null;\n\n const className = {\n [`${props.prefixCls}-wrapper`]: true,\n [wrapperClassName]: addonBefore || addonAfter,\n };\n\n const groupClassName = classNames(`${props.prefixCls}-group-wrapper`, {\n [`${props.prefixCls}-group-wrapper-sm`]: props.size === 'small',\n [`${props.prefixCls}-group-wrapper-lg`]: props.size === 'large',\n });\n return (\n <span class={groupClassName}>\n <span class={className}>\n {addonBefore}\n {children}\n {addonAfter}\n </span>\n </span>\n );\n },\n renderLabeledIcon(children) {\n const { prefixCls, size } = this.$props;\n let prefix = getComponentFromProp(this, 'prefix');\n let suffix = getComponentFromProp(this, 'suffix');\n if (!prefix && !suffix) {\n return children;\n }\n\n prefix = prefix ? <span class={`${prefixCls}-prefix`}>{prefix}</span> : null;\n\n suffix = suffix ? <span class={`${prefixCls}-suffix`}>{suffix}</span> : null;\n const affixWrapperCls = classNames(`${prefixCls}-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-sm`]: size === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: size === 'large',\n });\n return (\n <span class={affixWrapperCls}>\n {prefix}\n {children}\n {suffix}\n </span>\n );\n },\n\n renderInput() {\n const otherProps = omit(this.$props, [\n 'prefixCls',\n 'addonBefore',\n 'addonAfter',\n 'prefix',\n 'suffix',\n 'value',\n 'defaultValue',\n ]);\n const { stateValue, getInputClassName, handleKeyDown, handleChange, $listeners } = this;\n const inputProps = {\n domProps: {\n value: stateValue,\n },\n attrs: { ...otherProps, ...this.$attrs },\n on: {\n ...$listeners,\n keydown: handleKeyDown,\n input: handleChange,\n change: noop,\n },\n class: getInputClassName(),\n ref: 'input',\n };\n if ($listeners['change.value']) {\n inputProps.directives = [{ name: 'ant-input' }];\n }\n return this.renderLabeledIcon(<input {...inputProps} />);\n },\n },\n render() {\n if (this.$props.type === 'textarea') {\n const { $listeners } = this;\n const textareaProps = {\n props: this.$props,\n attrs: this.$attrs,\n on: {\n ...$listeners,\n change: this.handleChange,\n keydown: this.handleKeyDown,\n },\n directives: [\n {\n name: 'ant-input',\n },\n ],\n };\n return <TextArea {...textareaProps} ref=\"input\" />;\n }\n return this.renderLabeledInput(this.renderInput());\n },\n};\n","import classNames from 'classnames';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport Button from '../button';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getComponentFromProp, isValidElement } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'AInputSearch',\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n prefixCls: {\n default: 'ant-input-search',\n type: String,\n },\n inputPrefixCls: {\n default: 'ant-input',\n type: String,\n },\n enterButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.object]),\n },\n methods: {\n onSearch(e) {\n this.$emit('search', this.$refs.input.stateValue, e);\n this.$refs.input.focus();\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n getButtonOrIcon() {\n const { prefixCls, size, disabled } = this;\n const enterButton = getComponentFromProp(this, 'enterButton');\n const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;\n let node;\n if (!enterButton) {\n node = <Icon class={`${prefixCls}-icon`} type=\"search\" key=\"searchIcon\" />;\n } else if (\n enterButtonAsElement.tag === 'button' ||\n (enterButtonAsElement.componentOptions &&\n enterButtonAsElement.componentOptions.Ctor.extendOptions.__ANT_BUTTON)\n ) {\n node = cloneElement(enterButtonAsElement, {\n class: `${prefixCls}-button`,\n props: { size },\n });\n } else {\n node = (\n <Button\n class={`${prefixCls}-button`}\n type=\"primary\"\n size={size}\n disabled={disabled}\n key=\"enterButton\"\n >\n {enterButton === true ? <Icon type=\"search\" /> : enterButton}\n </Button>\n );\n }\n return cloneElement(node, {\n on: {\n click: this.onSearch,\n },\n });\n },\n },\n render() {\n const { prefixCls, inputPrefixCls, size, ...others } = getOptionProps(this);\n const suffix = getComponentFromProp(this, 'suffix');\n const enterButton = getComponentFromProp(this, 'enterButton');\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n const buttonOrIcon = this.getButtonOrIcon();\n let searchSuffix = suffix ? [suffix, buttonOrIcon] : buttonOrIcon;\n if (Array.isArray(searchSuffix)) {\n searchSuffix = searchSuffix.map((item, index) => {\n if (!isValidElement(item) || item.key) {\n return item;\n }\n return cloneElement(item, { key: index });\n });\n }\n const inputClassName = classNames(prefixCls, {\n [`${prefixCls}-enter-button`]: !!enterButton,\n [`${prefixCls}-${size}`]: !!size,\n });\n const on = { ...this.$listeners };\n delete on.search;\n const inputProps = {\n props: {\n ...others,\n prefixCls: inputPrefixCls,\n size,\n suffix: searchSuffix,\n addonAfter,\n addonBefore,\n },\n attrs: this.$attrs,\n on: {\n pressEnter: this.onSearch,\n ...on,\n },\n };\n return <Input {...inputProps} class={inputClassName} ref=\"input\" />;\n },\n};\n","import omit from 'omit.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport inputProps from './inputProps';\nimport calculateNodeHeight from './calculateNodeHeight';\nimport hasProp from '../_util/props-util';\n\nfunction onNextFrame(cb) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(cb);\n }\n return window.setTimeout(cb, 1);\n}\n\nfunction clearNextFrameAction(nextFrameId) {\n if (window.cancelAnimationFrame) {\n window.cancelAnimationFrame(nextFrameId);\n } else {\n window.clearTimeout(nextFrameId);\n }\n}\nfunction fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return value;\n}\nfunction noop() {}\n\nexport default {\n name: 'ATextarea',\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n autosize: [Object, Boolean],\n },\n data() {\n const { value, defaultValue } = this.$props;\n return {\n stateValue: fixControlledValue(!hasProp(this, 'value') ? defaultValue : value),\n nextFrameActionId: undefined,\n textareaStyles: {},\n };\n },\n computed: {},\n watch: {\n value(val) {\n this.$nextTick(() => {\n this.resizeOnNextFrame();\n });\n this.stateValue = fixControlledValue(val);\n },\n autosize(val) {\n if (!val && this.$refs.textArea) {\n this.textareaStyles = omit(this.textareaStyles, ['overflowY']);\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.resizeTextarea();\n this.updateResizeObserverHook();\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n updated() {\n this.updateResizeObserverHook();\n },\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n },\n methods: {\n resizeOnNextFrame() {\n if (this.nextFrameActionId) {\n clearNextFrameAction(this.nextFrameActionId);\n }\n this.nextFrameActionId = onNextFrame(this.resizeTextarea);\n },\n // We will update hooks if `autosize` prop change\n updateResizeObserverHook() {\n if (!this.resizeObserver && this.$props.autosize) {\n // Add resize observer\n this.resizeObserver = new ResizeObserver(this.resizeOnNextFrame);\n this.resizeObserver.observe(this.$refs.textArea);\n } else if (this.resizeObserver && !this.$props.autosize) {\n // Remove resize observer\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n resizeTextarea() {\n const { autosize } = this.$props;\n if (!autosize || !this.$refs.textArea) {\n return;\n }\n const minRows = autosize ? autosize.minRows : null;\n const maxRows = autosize ? autosize.maxRows : null;\n const textareaStyles = calculateNodeHeight(this.$refs.textArea, false, minRows, maxRows);\n this.textareaStyles = textareaStyles;\n },\n\n getTextAreaClassName() {\n const { prefixCls, disabled } = this.$props;\n return {\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n };\n },\n\n handleTextareaChange(e) {\n if (!hasProp(this, 'value')) {\n this.stateValue = e.target.value;\n this.resizeTextarea();\n } else {\n this.$forceUpdate();\n }\n if (!e.target.composing) {\n this.$emit('change.value', e.target.value);\n }\n this.$emit('change', e);\n this.$emit('input', e);\n },\n\n focus() {\n this.$refs.textArea.focus();\n },\n\n blur() {\n this.$refs.textArea.blur();\n },\n },\n render() {\n const {\n stateValue,\n getTextAreaClassName,\n handleKeyDown,\n handleTextareaChange,\n textareaStyles,\n $attrs,\n $listeners,\n } = this;\n const otherProps = omit(this.$props, [\n 'prefixCls',\n 'autosize',\n 'type',\n 'value',\n 'defaultValue',\n ]);\n const textareaProps = {\n attrs: { ...otherProps, ...$attrs },\n on: {\n ...$listeners,\n keydown: handleKeyDown,\n input: handleTextareaChange,\n change: noop,\n },\n };\n if ($listeners['change.value']) {\n textareaProps.directives = [{ name: 'ant-input' }];\n }\n return (\n <textarea\n {...textareaProps}\n value={stateValue}\n class={getTextAreaClassName()}\n style={textareaStyles}\n ref=\"textArea\"\n />\n );\n },\n};\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\n\nconst SIZING_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n];\n\nconst computedStyleCache = {};\nlet hiddenTextarea;\n\nfunction calculateNodeStyling(node, useCache = false) {\n const nodeRef =\n node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n const style = window.getComputedStyle(node);\n\n const boxSizing =\n style.getPropertyValue('box-sizing') ||\n style.getPropertyValue('-moz-box-sizing') ||\n style.getPropertyValue('-webkit-box-sizing');\n\n const paddingSize =\n parseFloat(style.getPropertyValue('padding-bottom')) +\n parseFloat(style.getPropertyValue('padding-top'));\n\n const borderSize =\n parseFloat(style.getPropertyValue('border-bottom-width')) +\n parseFloat(style.getPropertyValue('border-top-width'));\n\n const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\n\n const nodeInfo = {\n sizingStyle,\n paddingSize,\n borderSize,\n boxSizing,\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nexport default function calculateNodeHeight(\n uiTextNode,\n useCache = false,\n minRows = null,\n maxRows = null,\n) {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(\n uiTextNode,\n useCache,\n );\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n let minHeight = Number.MIN_SAFE_INTEGER;\n let maxHeight = Number.MAX_SAFE_INTEGER;\n let height = hiddenTextarea.scrollHeight;\n let overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n // Remove scroll bar flash when autosize without maxRows\n // donot remove in vue\n if (!maxRows) {\n overflowY = 'hidden';\n }\n return {\n height: `${height}px`,\n minHeight: `${minHeight}px`,\n maxHeight: `${maxHeight}px`,\n overflowY,\n };\n}\n","import Vue from 'vue';\nimport Input from './Input';\nimport Group from './Group';\nimport Search from './Search';\nimport TextArea from './TextArea';\nimport antInputDirective from '../_util/antInputDirective';\n\nVue.use(antInputDirective);\n\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\n\n/* istanbul ignore next */\nInput.install = function(Vue) {\n Vue.component(Input.name, Input);\n Vue.component(Input.Group.name, Input.Group);\n Vue.component(Input.Search.name, Input.Search);\n Vue.component(Input.TextArea.name, Input.TextArea);\n};\n\nexport default Input;\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: {\n default: 'ant-input',\n type: String,\n },\n defaultValue: [String, Number],\n value: [String, Number],\n placeholder: [String, Number],\n type: {\n default: 'text',\n type: String,\n },\n name: String,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n disabled: {\n default: false,\n type: Boolean,\n },\n readOnly: Boolean,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n // onPressEnter?: React.FormEventHandler<any>;\n // onKeyDown?: React.FormEventHandler<any>;\n // onChange?: React.ChangeEventHandler<HTMLInputElement>;\n // onClick?: React.FormEventHandler<any>;\n // onFocus?: React.FormEventHandler<any>;\n // onBlur?: React.FormEventHandler<any>;\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n spellCheck: Boolean,\n autoFocus: Boolean,\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n}\n\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport {\n initDefaultProps,\n getOptionProps,\n hasProp,\n getComponentFromProp,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport isNumeric from '../_util/isNumeric';\n\nconst dimensionMap = {\n xs: '480px',\n sm: '576px',\n md: '768px',\n lg: '992px',\n xl: '1200px',\n xxl: '1600px',\n};\n\n// export type CollapseType = 'clickTrigger' | 'responsive';\n\nexport const SiderProps = {\n prefixCls: PropTypes.string,\n collapsible: PropTypes.bool,\n collapsed: PropTypes.bool,\n defaultCollapsed: PropTypes.bool,\n reverseArrow: PropTypes.bool,\n // onCollapse?: (collapsed: boolean, type: CollapseType) => void;\n trigger: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n breakpoint: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n theme: PropTypes.oneOf(['light', 'dark']).def('dark'),\n};\n\n// export interface SiderState {\n// collapsed?: boolean;\n// below: boolean;\n// belowShow?: boolean;\n// }\n\n// export interface SiderContext {\n// siderCollapsed: boolean;\n// }\n\nconst generateId = (() => {\n let i = 0;\n return (prefix = '') => {\n i += 1;\n return `${prefix}${i}`;\n };\n})();\n\nexport default {\n name: 'ALayoutSider',\n __ANT_LAYOUT_SIDER: true,\n mixins: [BaseMixin],\n model: {\n prop: 'collapsed',\n event: 'collapse',\n },\n props: initDefaultProps(SiderProps, {\n prefixCls: 'ant-layout-sider',\n collapsible: false,\n defaultCollapsed: false,\n reverseArrow: false,\n width: 200,\n collapsedWidth: 80,\n }),\n\n data() {\n this.uniqueId = generateId('ant-sider-');\n let matchMedia;\n if (typeof window !== 'undefined') {\n matchMedia = window.matchMedia;\n }\n const props = getOptionProps(this);\n if (matchMedia && props.breakpoint && props.breakpoint in dimensionMap) {\n this.mql = matchMedia(`(max-width: ${dimensionMap[props.breakpoint]})`);\n }\n let sCollapsed;\n if ('collapsed' in props) {\n sCollapsed = props.collapsed;\n } else {\n sCollapsed = props.defaultCollapsed;\n }\n return {\n sCollapsed,\n below: false,\n belowShow: false,\n };\n },\n provide() {\n return {\n layoutSiderContext: this, // menu组件中使用\n };\n },\n inject: {\n siderHook: { default: () => ({}) },\n },\n // getChildContext() {\n // return {\n // siderCollapsed: this.state.collapsed,\n // collapsedWidth: this.props.collapsedWidth,\n // };\n // }\n watch: {\n collapsed(val) {\n this.setState({\n sCollapsed: val,\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.mql) {\n this.mql.addListener(this.responsiveHandler);\n this.responsiveHandler(this.mql);\n }\n\n if (this.siderHook.addSider) {\n this.siderHook.addSider(this.uniqueId);\n }\n });\n },\n\n beforeDestroy() {\n if (this.mql) {\n this.mql.removeListener(this.responsiveHandler);\n }\n\n if (this.siderHook.removeSider) {\n this.siderHook.removeSider(this.uniqueId);\n }\n },\n methods: {\n responsiveHandler(mql) {\n this.setState({ below: mql.matches });\n this.$emit('breakpoint', mql.matches);\n if (this.sCollapsed !== mql.matches) {\n this.setCollapsed(mql.matches, 'responsive');\n }\n },\n\n setCollapsed(collapsed, type) {\n if (!hasProp(this, 'collapsed')) {\n this.setState({\n sCollapsed: collapsed,\n });\n }\n this.$emit('collapse', collapsed, type);\n },\n\n toggle() {\n const collapsed = !this.sCollapsed;\n this.setCollapsed(collapsed, 'clickTrigger');\n },\n\n belowShowChange() {\n this.setState({ belowShow: !this.belowShow });\n },\n },\n\n render() {\n const { prefixCls, theme, collapsible, reverseArrow, width, collapsedWidth } = getOptionProps(\n this,\n );\n const trigger = getComponentFromProp(this, 'trigger');\n const rawWidth = this.sCollapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger =\n parseFloat(String(collapsedWidth || 0)) === 0 ? (\n <span onClick={this.toggle} class={`${prefixCls}-zero-width-trigger`}>\n <Icon type=\"bars\" />\n </span>\n ) : null;\n const iconObj = {\n expanded: reverseArrow ? <Icon type=\"right\" /> : <Icon type=\"left\" />,\n collapsed: reverseArrow ? <Icon type=\"left\" /> : <Icon type=\"right\" />,\n };\n const status = this.sCollapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom =\n trigger !== null\n ? zeroWidthTrigger || (\n <div class={`${prefixCls}-trigger`} onClick={this.toggle} style={{ width: siderWidth }}>\n {trigger || defaultTrigger}\n </div>\n )\n : null;\n const divStyle = {\n // ...style,\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth, // Fix width transition bug in IE11\n minWidth: siderWidth, // https://github.com/ant-design/ant-design/issues/6349\n width: siderWidth,\n };\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!this.sCollapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!this.below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0,\n });\n const divProps = {\n on: this.$listeners,\n class: siderCls,\n style: divStyle,\n };\n return (\n <div {...divProps}>\n <div class={`${prefixCls}-children`}>{this.$slots.default}</div>\n {collapsible || (this.below && zeroWidthTrigger) ? triggerDom : null}\n </div>\n );\n },\n};\n","import Layout from './layout';\nimport Sider from './Sider';\n\nLayout.Sider = Sider;\n\n/* istanbul ignore next */\nLayout.install = function(Vue) {\n Vue.component(Layout.name, Layout);\n Vue.component(Layout.Header.name, Layout.Header);\n Vue.component(Layout.Footer.name, Layout.Footer);\n Vue.component(Layout.Sider.name, Layout.Sider);\n Vue.component(Layout.Content.name, Layout.Content);\n};\nexport default Layout;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { getOptionProps } from '../_util/props-util';\n\nexport const BasicProps = {\n prefixCls: PropTypes.string,\n hasSider: PropTypes.boolean,\n};\n\nfunction generator(props, name) {\n return BasicComponent => {\n return {\n name,\n props: BasicComponent.props,\n render() {\n const { prefixCls } = props;\n const basicComponentProps = {\n props: {\n prefixCls,\n ...getOptionProps(this),\n },\n on: this.$listeners,\n };\n return <BasicComponent {...basicComponentProps}>{this.$slots.default}</BasicComponent>;\n },\n };\n };\n}\n\nconst Basic = {\n props: BasicProps,\n render() {\n const { prefixCls, $slots, $listeners } = this;\n const divProps = {\n class: prefixCls,\n on: $listeners,\n };\n return <div {...divProps}>{$slots.default}</div>;\n },\n};\n\nconst BasicLayout = {\n props: BasicProps,\n data() {\n return {\n siders: [],\n };\n },\n provide() {\n return {\n siderHook: {\n addSider: id => {\n this.siders = [...this.siders, id];\n },\n removeSider: id => {\n this.siders = this.siders.filter(currentId => currentId !== id);\n },\n },\n };\n },\n render() {\n const { prefixCls, $slots, hasSider, $listeners } = this;\n const divCls = classNames(prefixCls, {\n [`${prefixCls}-has-sider`]: hasSider || this.siders.length > 0,\n });\n const divProps = {\n class: divCls,\n on: $listeners,\n };\n return <div {...divProps}>{$slots.default}</div>;\n },\n};\n\nconst Layout = generator(\n {\n prefixCls: 'ant-layout',\n },\n 'ALayout',\n)(BasicLayout);\n\nconst Header = generator(\n {\n prefixCls: 'ant-layout-header',\n },\n 'ALayoutHeader',\n)(Basic);\n\nconst Footer = generator(\n {\n prefixCls: 'ant-layout-footer',\n },\n 'ALayoutFooter',\n)(Basic);\n\nconst Content = generator(\n {\n prefixCls: 'ant-layout-content',\n },\n 'ALayoutContent',\n)(Basic);\n\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\n\nexport default Layout;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { getSlotOptions, getComponentFromProp, isEmptyElement } from '../_util/props-util';\nimport { Col } from '../grid';\nimport { ListGridType } from './index';\n\nexport const ListItemProps = {\n prefixCls: PropTypes.string,\n extra: PropTypes.any,\n actions: PropTypes.arrayOf(PropTypes.any),\n grid: ListGridType,\n};\n\nexport const ListItemMetaProps = {\n avatar: PropTypes.any,\n description: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n};\n\nexport const Meta = {\n functional: true,\n name: 'AListItemMeta',\n __ANT_LIST_ITEM_META: true,\n render(h, context) {\n const { props, slots, listeners } = context;\n const slotsMap = slots();\n const { prefixCls = 'ant-list' } = props;\n const avatar = props.avatar || slotsMap.avatar;\n const title = props.title || slotsMap.title;\n const description = props.description || slotsMap.description;\n const content = (\n <div class={`${prefixCls}-item-meta-content`}>\n {title && <h4 class={`${prefixCls}-item-meta-title`}>{title}</h4>}\n {description && <div class={`${prefixCls}-item-meta-description`}>{description}</div>}\n </div>\n );\n return (\n <div {...{ on: listeners }} class={`${prefixCls}-item-meta`}>\n {avatar && <div class={`${prefixCls}-item-meta-avatar`}>{avatar}</div>}\n {(title || description) && content}\n </div>\n );\n },\n};\n\nfunction getGrid(grid, t) {\n return grid[t] && Math.floor(24 / grid[t]);\n}\n\nexport default {\n name: 'AListItem',\n Meta,\n props: ListItemProps,\n inject: {\n listContext: { default: () => ({}) },\n },\n\n render() {\n const { grid } = this.listContext;\n const { prefixCls = 'ant-list', $slots, $listeners } = this;\n const classString = `${prefixCls}-item`;\n const extra = getComponentFromProp(this, 'extra');\n const actions = getComponentFromProp(this, 'actions');\n const metaContent = [];\n const otherContent = [];\n\n ($slots.default || []).forEach(element => {\n if (!isEmptyElement(element)) {\n if (getSlotOptions(element).__ANT_LIST_ITEM_META) {\n metaContent.push(element);\n } else {\n otherContent.push(element);\n }\n }\n });\n\n const contentClassString = classNames(`${prefixCls}-item-content`, {\n [`${prefixCls}-item-content-single`]: metaContent.length < 1,\n });\n const content =\n otherContent.length > 0 ? <div class={contentClassString}>{otherContent}</div> : null;\n\n let actionsContent;\n if (actions && actions.length > 0) {\n const actionsContentItem = (action, i) => (\n <li key={`${prefixCls}-item-action-${i}`}>\n {action}\n {i !== actions.length - 1 && <em class={`${prefixCls}-item-action-split`} />}\n </li>\n );\n actionsContent = (\n <ul class={`${prefixCls}-item-action`}>\n {actions.map((action, i) => actionsContentItem(action, i))}\n </ul>\n );\n }\n\n const extraContent = (\n <div class={`${prefixCls}-item-extra-wrap`}>\n <div class={`${prefixCls}-item-main`}>\n {metaContent}\n {content}\n {actionsContent}\n </div>\n <div class={`${prefixCls}-item-extra`}>{extra}</div>\n </div>\n );\n\n const mainContent = grid ? (\n <Col\n span={getGrid(grid, 'column')}\n xs={getGrid(grid, 'xs')}\n sm={getGrid(grid, 'sm')}\n md={getGrid(grid, 'md')}\n lg={getGrid(grid, 'lg')}\n xl={getGrid(grid, 'xl')}\n xxl={getGrid(grid, 'xxl')}\n >\n <div {...{ on: $listeners }} class={classString}>\n {extra && extraContent}\n {!extra && metaContent}\n {!extra && content}\n {!extra && actionsContent}\n </div>\n </Col>\n ) : (\n <div {...{ on: $listeners }} class={classString}>\n {extra && extraContent}\n {!extra && metaContent}\n {!extra && content}\n {!extra && actionsContent}\n </div>\n );\n\n return mainContent;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\n\nimport Spin from '../spin';\nimport Pagination, { PaginationConfig } from '../pagination';\nimport { Row } from '../grid';\n\nimport Item from './Item';\nimport { initDefaultProps, getComponentFromProp, filterEmpty } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport { ListItemProps, ListItemMetaProps } from './Item';\n\nexport const ColumnCount = ['', 1, 2, 3, 4, 6, 8, 12, 24];\n\nexport const ColumnType = ['gutter', 'column', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n\nexport const ListGridType = {\n gutter: PropTypes.number,\n column: PropTypes.oneOf(ColumnCount),\n xs: PropTypes.oneOf(ColumnCount),\n sm: PropTypes.oneOf(ColumnCount),\n md: PropTypes.oneOf(ColumnCount),\n lg: PropTypes.oneOf(ColumnCount),\n xl: PropTypes.oneOf(ColumnCount),\n xxl: PropTypes.oneOf(ColumnCount),\n};\n\nexport const ListSize = ['small', 'default', 'large'];\n\nexport const ListProps = () => ({\n bordered: PropTypes.bool,\n dataSource: PropTypes.any,\n extra: PropTypes.any,\n grid: PropTypes.shape(ListGridType).loose,\n itemLayout: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n loadMore: PropTypes.any,\n pagination: PropTypes.oneOfType([PropTypes.shape(PaginationConfig()).loose, PropTypes.bool]),\n prefixCls: PropTypes.string,\n rowKey: PropTypes.any,\n renderItem: PropTypes.any,\n size: PropTypes.oneOf(ListSize),\n split: PropTypes.bool,\n header: PropTypes.any,\n footer: PropTypes.any,\n locale: PropTypes.object,\n});\n\nconst List = {\n Item,\n name: 'AList',\n props: initDefaultProps(ListProps(), {\n dataSource: [],\n prefixCls: 'ant-list',\n bordered: false,\n split: true,\n loading: false,\n pagination: false,\n }),\n provide() {\n return {\n listContext: this,\n };\n },\n data() {\n this.keys = [];\n this.defaultPaginationProps = {\n current: 1,\n pageSize: 10,\n onChange: (page, pageSize) => {\n const { pagination } = this;\n this.paginationCurrent = page;\n if (pagination && pagination.onChange) {\n pagination.onChange(page, pageSize);\n }\n },\n total: 0,\n };\n return {\n paginationCurrent: 1,\n };\n },\n methods: {\n renderItem2(item, index) {\n const { dataSource, $scopedSlots, rowKey } = this;\n let key;\n const renderItem = this.renderItem || $scopedSlots.renderItem;\n if (typeof rowKey === 'function') {\n key = rowKey(dataSource[index]);\n } else if (typeof rowKey === 'string') {\n key = dataSource[rowKey];\n } else {\n key = dataSource.key;\n }\n\n if (!key) {\n key = `list-item-${index}`;\n }\n\n this.keys[index] = key;\n\n return renderItem(item, index);\n },\n\n isSomethingAfterLastItem() {\n const { pagination } = this;\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n return !!(loadMore || pagination || footer);\n },\n\n renderEmpty(contextLocale) {\n const locale = { ...contextLocale, ...this.locale };\n return <div class={`${this.prefixCls}-empty-text`}>{locale.emptyText}</div>;\n },\n },\n\n render() {\n const {\n bordered,\n split,\n itemLayout,\n pagination,\n prefixCls,\n grid,\n dataSource,\n size,\n loading,\n $listeners,\n $slots,\n paginationCurrent,\n } = this;\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n const header = getComponentFromProp(this, 'header');\n const children = filterEmpty($slots.default || []);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp,\n };\n }\n const isLoading = loadingProp && loadingProp.spinning;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: grid,\n [`${prefixCls}-something-after-last-item`]: this.isSomethingAfterLastItem(),\n });\n const paginationProps = {\n ...this.defaultPaginationProps,\n total: dataSource.length,\n current: paginationCurrent,\n ...(pagination || {}),\n };\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const { class: cls, style, onShowSizeChange = () => {}, ...restProps } = paginationProps;\n const paginationContent = pagination ? (\n <div class={`${prefixCls}-pagination`}>\n <Pagination\n {...{\n props: omit(restProps, ['onChange']),\n class: cls,\n style,\n on: { change: this.defaultPaginationProps.onChange, showSizeChange: onShowSizeChange },\n }}\n />\n </div>\n ) : null;\n\n let splitDataSource = [...dataSource];\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = [...dataSource].splice(\n (paginationProps.current - 1) * paginationProps.pageSize,\n paginationProps.pageSize,\n );\n }\n }\n\n let childrenContent;\n childrenContent = isLoading && <div style={{ minHeight: 53 }} />;\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => this.renderItem2(item, index));\n const childrenList = items.map((child, index) =>\n cloneElement(child, {\n key: this.keys[index],\n }),\n );\n\n childrenContent = grid ? <Row gutter={grid.gutter}>{childrenList}</Row> : childrenList;\n } else if (!children.length && !isLoading) {\n childrenContent = (\n <LocaleReceiver\n componentName=\"Table\"\n defaultLocale={defaultLocale.Table}\n scopedSlots={{ default: this.renderEmpty }}\n />\n );\n }\n const paginationPosition = paginationProps.position || 'bottom';\n\n return (\n <div class={classString} {...{ on: $listeners }}>\n {(paginationPosition === 'top' || paginationPosition === 'both') && paginationContent}\n {header && <div class={`${prefixCls}-header`}>{header}</div>}\n <Spin {...{ props: loadingProp }}>\n {childrenContent}\n {children}\n </Spin>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n {loadMore ||\n ((paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nList.install = function(Vue) {\n Vue.component(List.name, List);\n Vue.component(List.Item.name, List.Item);\n Vue.component(List.Item.Meta.name, List.Item.Meta);\n};\n\nexport default List;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../spin/style';\nimport '../../pagination/style';\nimport '../../grid/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport defaultLocaleData from './default';\n\nexport default {\n props: {\n componentName: PropTypes.string.def('global'),\n defaultLocale: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.func,\n },\n inject: {\n localeData: { default: () => ({}) },\n },\n methods: {\n getLocale() {\n const { componentName, defaultLocale } = this;\n const locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n const { antLocale } = this.localeData;\n\n const localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return {\n ...(typeof locale === 'function' ? locale() : locale),\n ...(localeFromContext || {}),\n };\n },\n\n getLocaleCode() {\n const { antLocale } = this.localeData;\n const localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n },\n },\n\n render() {\n const { $scopedSlots } = this;\n const children = this.children || $scopedSlots.default;\n return children(this.getLocale(), this.getLocaleCode());\n },\n};\n","import Pagination from '../vc-pagination/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nimport Calendar from '../calendar/locale/en_US';\n\nexport default {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n // locales for all comoponents\n global: {\n placeholder: 'Please select',\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n sortTitle: 'Sort',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel',\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'Not Found',\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Select: {\n notFoundContent: 'Not Found',\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { changeConfirmLocale } from '../modal/locale';\n\n// export interface Locale {\n// locale: string;\n// Pagination?: Object;\n// DatePicker?: Object;\n// TimePicker?: Object;\n// Calendar?: Object;\n// Table?: Object;\n// Modal?: ModalLocale;\n// Popconfirm?: Object;\n// Transfer?: Object;\n// Select?: Object;\n// Upload?: Object;\n// }\n\nfunction setMomentLocale(locale) {\n if (locale && locale.locale) {\n interopDefault(moment).locale(locale.locale);\n } else {\n interopDefault(moment).locale('en');\n }\n}\n\nconst LocaleProvider = {\n name: 'ALocaleProvider',\n props: {\n locale: PropTypes.object.def({}),\n },\n data() {\n return {\n antLocale: {\n ...this.locale,\n exist: true,\n },\n };\n },\n provide() {\n return {\n localeData: this.$data,\n };\n },\n watch: {\n locale(val) {\n this.antLocale = {\n ...this.locale,\n exist: true,\n };\n this.$nextTick(() => {\n setMomentLocale(val);\n });\n },\n },\n created() {\n const { locale } = this;\n setMomentLocale(locale);\n changeConfirmLocale(locale && locale.Modal);\n },\n updated() {\n const { locale } = this;\n changeConfirmLocale(locale && locale.Modal);\n },\n beforeDestroy() {\n changeConfirmLocale();\n },\n render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n },\n};\n\n/* istanbul ignore next */\nLocaleProvider.install = function(Vue) {\n Vue.component(LocaleProvider.name, LocaleProvider);\n};\n\nexport default LocaleProvider;\n","import './index.less';\n","// extracted by mini-css-extract-plugin","import { Item, itemProps } from '../vc-menu';\nimport { getOptionProps } from '../_util/props-util';\nimport Tooltip from '../tooltip';\nfunction noop() {}\nexport default {\n name: 'MenuItem',\n inheritAttrs: false,\n props: itemProps,\n inject: {\n getInlineCollapsed: { default: () => noop },\n },\n isMenuItem: 1,\n methods: {\n onKeyDown(e) {\n this.$refs.menuItem.onKeyDown(e);\n },\n },\n render() {\n const props = getOptionProps(this);\n const { level, title, rootPrefixCls } = props;\n const { getInlineCollapsed, $slots, $attrs: attrs, $listeners } = this;\n const inlineCollapsed = getInlineCollapsed();\n let titleNode;\n if (inlineCollapsed) {\n titleNode = title || (level === 1 ? $slots.default : '');\n }\n\n const itemProps = {\n props: {\n ...props,\n title: inlineCollapsed ? null : title,\n },\n attrs,\n on: $listeners,\n };\n const toolTipProps = {\n props: {\n title: titleNode,\n placement: 'right',\n overlayClassName: `${rootPrefixCls}-inline-collapsed-tooltip`,\n },\n };\n return (\n <Tooltip {...toolTipProps}>\n <Item {...itemProps} ref=\"menuItem\">\n {$slots.default}\n </Item>\n </Tooltip>\n );\n },\n};\n","import omit from 'omit.js';\nimport VcMenu, { Divider, ItemGroup, SubMenu } from '../vc-menu';\nimport PropTypes from '../_util/vue-types';\nimport animation from '../_util/openAnimation';\nimport warning from '../_util/warning';\nimport Item from './MenuItem';\nimport { hasProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport commonPropsType from '../vc-menu/commonPropsType';\n\nexport const MenuMode = PropTypes.oneOf([\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'horizontal',\n 'inline',\n]);\n\nexport const menuProps = {\n ...commonPropsType,\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n mode: MenuMode.def('vertical'),\n selectable: PropTypes.bool,\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.array,\n openKeys: PropTypes.array,\n defaultOpenKeys: PropTypes.array,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openTransitionName: PropTypes.string,\n prefixCls: PropTypes.string.def('ant-menu'),\n multiple: PropTypes.bool,\n inlineIndent: PropTypes.number.def(24),\n inlineCollapsed: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n focusable: PropTypes.bool.def(false),\n};\n\nconst Menu = {\n name: 'AMenu',\n props: menuProps,\n Divider: { ...Divider, name: 'AMenuDivider' },\n Item: { ...Item, name: 'AMenuItem' },\n SubMenu: { ...SubMenu, name: 'ASubMenu' },\n ItemGroup: { ...ItemGroup, name: 'AMenuItemGroup' },\n provide() {\n return {\n getInlineCollapsed: this.getInlineCollapsed,\n };\n },\n mixins: [BaseMixin],\n inject: {\n layoutSiderContext: { default: () => ({}) },\n configProvider: { default: () => ({}) },\n },\n model: {\n prop: 'selectedKeys',\n event: 'selectChange',\n },\n created() {\n this.preProps = { ...this.$props };\n },\n updated() {\n this.propsUpdating = false;\n },\n watch: {\n mode(val, oldVal) {\n if (oldVal === 'inline' && val !== 'inline') {\n this.switchingModeFromInline = true;\n }\n },\n openKeys(val) {\n this.setState({ sOpenKeys: val });\n },\n inlineCollapsed(val) {\n this.collapsedChange(val);\n },\n 'layoutSiderContext.sCollapsed': function(val) {\n this.collapsedChange(val);\n },\n },\n data() {\n const props = this.$props;\n warning(\n !(hasProp(this, 'inlineCollapsed') && props.mode !== 'inline'),\n \"`inlineCollapsed` should only be used when Menu's `mode` is inline.\",\n );\n this.switchingModeFromInline = false;\n this.leaveAnimationExecutedWhenInlineCollapsed = false;\n this.inlineOpenKeys = [];\n let sOpenKeys;\n\n if (hasProp(this, 'openKeys')) {\n sOpenKeys = props.openKeys;\n } else if (hasProp(this, 'defaultOpenKeys')) {\n sOpenKeys = props.defaultOpenKeys;\n }\n return {\n sOpenKeys,\n };\n },\n methods: {\n collapsedChange(val) {\n if (this.propsUpdating) {\n return;\n }\n this.propsUpdating = true;\n if (!hasProp(this, 'openKeys')) {\n if (val) {\n this.switchingModeFromInline = true;\n this.inlineOpenKeys = this.sOpenKeys;\n this.setState({ sOpenKeys: [] });\n } else {\n this.setState({ sOpenKeys: this.inlineOpenKeys });\n this.inlineOpenKeys = [];\n }\n } else if (val) {\n // 缩起时,openKeys置为空的动画会闪动,react可以通过是否传递openKeys避免闪动,vue不是很方便动态传递openKeys\n this.switchingModeFromInline = true;\n }\n },\n restoreModeVerticalFromInline() {\n if (this.switchingModeFromInline) {\n this.switchingModeFromInline = false;\n this.$forceUpdate();\n }\n },\n // Restore vertical mode when menu is collapsed responsively when mounted\n // https://github.com/ant-design/ant-design/issues/13104\n // TODO: not a perfect solution, looking a new way to avoid setting switchingModeFromInline in this situation\n handleMouseEnter(e) {\n this.restoreModeVerticalFromInline();\n this.$emit('mouseenter', e);\n },\n handleTransitionEnd(e) {\n // when inlineCollapsed menu width animation finished\n // https://github.com/ant-design/ant-design/issues/12864\n const widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget;\n // Fix for <Menu style={{ width: '100%' }} />, the width transition won't trigger when menu is collapsed\n // https://github.com/ant-design/ant-design-pro/issues/2783\n const iconScaled =\n e.propertyName === 'font-size' && e.target.className.indexOf('anticon') >= 0;\n if (widthCollapsed || iconScaled) {\n this.restoreModeVerticalFromInline();\n }\n },\n handleClick(e) {\n this.handleOpenChange([]);\n this.$emit('click', e);\n },\n handleSelect(info) {\n this.$emit('select', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleDeselect(info) {\n this.$emit('deselect', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleOpenChange(openKeys) {\n this.setOpenKeys(openKeys);\n this.$emit('openChange', openKeys);\n this.$emit('update:openKeys', openKeys);\n },\n setOpenKeys(openKeys) {\n if (!hasProp(this, 'openKeys')) {\n this.setState({ sOpenKeys: openKeys });\n }\n },\n getRealMenuMode() {\n const inlineCollapsed = this.getInlineCollapsed();\n if (this.switchingModeFromInline && inlineCollapsed) {\n return 'inline';\n }\n const { mode } = this.$props;\n return inlineCollapsed ? 'vertical' : mode;\n },\n getInlineCollapsed() {\n const { inlineCollapsed } = this.$props;\n if (this.layoutSiderContext.sCollapsed !== undefined) {\n return this.layoutSiderContext.sCollapsed;\n }\n return inlineCollapsed;\n },\n getMenuOpenAnimation(menuMode) {\n const { openAnimation, openTransitionName } = this.$props;\n let menuOpenAnimation = openAnimation || openTransitionName;\n if (openAnimation === undefined && openTransitionName === undefined) {\n if (menuMode === 'horizontal') {\n menuOpenAnimation = 'slide-up';\n } else if (menuMode === 'inline') {\n menuOpenAnimation = { on: animation };\n } else {\n // When mode switch from inline\n // submenu should hide without animation\n if (this.switchingModeFromInline) {\n menuOpenAnimation = '';\n this.switchingModeFromInline = false;\n } else {\n menuOpenAnimation = 'zoom-big';\n }\n }\n }\n return menuOpenAnimation;\n },\n },\n render() {\n const { layoutSiderContext, $slots, $listeners } = this;\n const { collapsedWidth } = layoutSiderContext;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const { prefixCls, theme, getPopupContainer } = this.$props;\n const menuMode = this.getRealMenuMode();\n const menuOpenAnimation = this.getMenuOpenAnimation(menuMode);\n\n const menuClassName = {\n [`${prefixCls}-${theme}`]: true,\n [`${prefixCls}-inline-collapsed`]: this.getInlineCollapsed(),\n };\n\n const menuProps = {\n props: {\n ...omit(this.$props, ['inlineCollapsed']),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n openKeys: this.sOpenKeys,\n mode: menuMode,\n },\n on: {\n ...$listeners,\n select: this.handleSelect,\n deselect: this.handleDeselect,\n openChange: this.handleOpenChange,\n onMouseenter: this.handleMouseEnter,\n },\n nativeOn: {\n transitionend: this.handleTransitionEnd,\n },\n };\n if (!hasProp(this, 'selectedKeys')) {\n delete menuProps.props.selectedKeys;\n }\n\n if (menuMode !== 'inline') {\n // closing vertical popup submenu after click it\n menuProps.on.click = this.handleClick;\n menuProps.props.openTransitionName = menuOpenAnimation;\n } else {\n menuProps.on.click = e => {\n this.$emit('click', e);\n };\n menuProps.props.openAnimation = menuOpenAnimation;\n }\n\n // https://github.com/ant-design/ant-design/issues/8587\n if (\n this.getInlineCollapsed() &&\n (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px')\n ) {\n return null;\n }\n\n return (\n <VcMenu {...menuProps} class={menuClassName}>\n {$slots.default}\n </VcMenu>\n );\n },\n};\n\n/* istanbul ignore next */\nMenu.install = function(Vue) {\n Vue.component(Menu.name, Menu);\n Vue.component(Menu.Item.name, Menu.Item);\n Vue.component(Menu.SubMenu.name, Menu.SubMenu);\n Vue.component(Menu.Divider.name, Menu.Divider);\n Vue.component(Menu.ItemGroup.name, Menu.ItemGroup);\n};\nexport default Menu;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nlet defaultDuration = 3;\nlet defaultTop;\nlet messageInstance;\nlet key = 1;\nlet prefixCls = 'ant-message';\nlet transitionName = 'move-up';\nlet getContainer = () => document.body;\nlet maxCount;\n\nfunction getMessageInstance(callback) {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n transitionName,\n style: { top: defaultTop }, // 覆盖原来的样式\n getContainer,\n maxCount,\n },\n instance => {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n messageInstance = instance;\n callback(instance);\n },\n );\n}\n\n// type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';\n\nfunction notice(args) {\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = {\n info: 'info-circle',\n success: 'check-circle',\n error: 'close-circle',\n warning: 'exclamation-circle',\n loading: 'loading',\n }[args.type];\n\n const target = key++;\n const closePromise = new Promise(resolve => {\n const callback = () => {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n return resolve(true);\n };\n getMessageInstance(instance => {\n instance.notice({\n key: target,\n duration,\n style: {},\n content: h => (\n <div\n class={`${prefixCls}-custom-content${args.type ? ` ${prefixCls}-${args.type}` : ''}`}\n >\n {args.icon ? (\n typeof args.icon === 'function' ? (\n args.icon(h)\n ) : (\n args.icon\n )\n ) : iconType ? (\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n ) : (\n ''\n )}\n <span>{typeof args.content === 'function' ? args.content(h) : args.content}</span>\n </div>\n ),\n onClose: callback,\n });\n });\n });\n const result = () => {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}\n\n// type ConfigContent = React.ReactNode | string;\n// type ConfigDuration = number | (() => void);\n// export type ConfigOnClose = () => void;\n\n// export interface ConfigOptions {\n// top?: number;\n// duration?: number;\n// prefixCls?: string;\n// getContainer?: () => HTMLElement;\n// transitionName?: string;\n// }\n\nconst api = {\n open: notice,\n config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n },\n};\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(type => {\n api[type] = (content, duration, onClose) => {\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n return api.open({ content, duration: duration, type, onClose });\n };\n});\n\napi.warn = api.warning;\n\nexport default api;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport Button from '../button';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nconst ActionButtonProps = {\n type: ButtonType,\n actionFn: PropTypes.func,\n closeModal: PropTypes.func,\n autoFocus: PropTypes.bool,\n buttonProps: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ActionButtonProps,\n data() {\n return {\n loading: false,\n };\n },\n mounted() {\n if (this.autoFocus) {\n this.timeoutId = setTimeout(() => this.$el.focus());\n }\n },\n beforeDestroy() {\n clearTimeout(this.timeoutId);\n },\n methods: {\n onClick() {\n const { actionFn, closeModal } = this;\n if (actionFn) {\n let ret;\n if (actionFn.length) {\n ret = actionFn(closeModal);\n } else {\n ret = actionFn();\n if (!ret) {\n closeModal();\n }\n }\n if (ret && ret.then) {\n this.setState({ loading: true });\n ret.then(\n (...args) => {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // this.setState({ loading: false });\n closeModal(...args);\n },\n () => {\n // See: https://github.com/ant-design/ant-design/issues/6183\n this.setState({ loading: false });\n },\n );\n }\n } else {\n closeModal();\n }\n },\n },\n\n render() {\n const { type, $slots, loading, buttonProps } = this;\n return (\n <Button type={type} onClick={this.onClick} loading={loading} {...buttonProps}>\n {$slots.default}\n </Button>\n );\n },\n};\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport { getConfirmLocale } from './locale';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const {\n onCancel,\n onOk,\n close,\n zIndex,\n afterClose,\n visible,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n okButtonProps,\n cancelButtonProps,\n } = props;\n const iconType = props.iconType || 'question-circle';\n const okType = props.okType || 'primary';\n const prefixCls = props.prefixCls || 'ant-modal';\n const contentPrefixCls = `${prefixCls}-confirm`;\n // 默认为 true,保持向下兼容\n const okCancel = 'okCancel' in props ? props.okCancel : true;\n const width = props.width || 416;\n const style = props.style || {};\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const runtimeLocale = getConfirmLocale();\n const okText = props.okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\n const cancelText = props.cancelText || runtimeLocale.cancelText;\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n\n const classString = classNames(\n contentPrefixCls,\n `${contentPrefixCls}-${props.type}`,\n `${prefixCls}-${props.type}`,\n props.class,\n );\n\n const cancelButton = okCancel && (\n <ActionButton\n actionFn={onCancel}\n closeModal={close}\n autoFocus={autoFocusButton === 'cancel'}\n buttonProps={cancelButtonProps}\n >\n {cancelText}\n </ActionButton>\n );\n\n return (\n <Dialog\n prefixCls={prefixCls}\n class={classString}\n wrapClassName={classNames({ [`${contentPrefixCls}-centered`]: !!centered })}\n onCancel={e => close({ triggerCancel: true }, e)}\n visible={visible}\n title=\"\"\n transitionName=\"zoom\"\n footer=\"\"\n maskTransitionName=\"fade\"\n maskClosable={maskClosable}\n maskStyle={maskStyle}\n style={style}\n width={width}\n zIndex={zIndex}\n afterClose={afterClose}\n keyboard={keyboard}\n centered={centered}\n getContainer={getContainer}\n >\n <div class={`${contentPrefixCls}-body-wrapper`}>\n <div class={`${contentPrefixCls}-body`}>\n <Icon type={iconType} />\n <span class={`${contentPrefixCls}-title`}>{props.title}</span>\n <div class={`${contentPrefixCls}-content`}>{props.content}</div>\n </div>\n <div class={`${contentPrefixCls}-btns`}>\n {cancelButton}\n <ActionButton\n type={okType}\n actionFn={onOk}\n closeModal={close}\n autoFocus={autoFocusButton === 'ok'}\n buttonProps={okButtonProps}\n >\n {okText}\n </ActionButton>\n </div>\n </div>\n </Dialog>\n );\n },\n};\n","import classNames from 'classnames';\nimport Dialog from '../vc-dialog';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getConfirmLocale } from './locale';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getClass,\n getStyle,\n mergeProps,\n} from '../_util/props-util';\nimport Icon from '../icon';\n\nlet mousePosition = null;\nlet mousePositionEventBinded = false;\nfunction noop() {}\nconst modalProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n /** 对话框是否可见*/\n visible: PropTypes.bool,\n /** 确定按钮 loading*/\n confirmLoading: PropTypes.bool,\n /** 标题*/\n title: PropTypes.any,\n /** 是否显示右上角的关闭按钮*/\n closable: PropTypes.bool,\n /** 点击确定回调*/\n // onOk: (e: React.MouseEvent<any>) => void,\n /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/\n // onCancel: (e: React.MouseEvent<any>) => void,\n afterClose: PropTypes.func.def(noop),\n /** 垂直居中 */\n centered: PropTypes.bool,\n /** 宽度*/\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** 底部内容*/\n footer: PropTypes.any,\n /** 确认按钮文字*/\n okText: PropTypes.string,\n /** 确认按钮类型*/\n okType: ButtonType,\n /** 取消按钮文字*/\n cancelText: PropTypes.string,\n /** 点击蒙层是否允许关闭*/\n maskClosable: PropTypes.bool,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n destroyOnClose: PropTypes.bool,\n wrapClassName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n transitionName: PropTypes.string,\n getContainer: PropTypes.func,\n zIndex: PropTypes.number,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n mask: PropTypes.bool,\n keyboard: PropTypes.bool,\n wrapProps: PropTypes.object,\n };\n return initDefaultProps(props, defaultProps);\n};\n\nexport default {\n name: 'AModal',\n model: {\n prop: 'visible',\n event: 'change',\n },\n props: modalProps({\n prefixCls: 'ant-modal',\n width: 520,\n transitionName: 'zoom',\n maskTransitionName: 'fade',\n confirmLoading: false,\n visible: false,\n okType: 'primary',\n // okButtonDisabled: false,\n // cancelButtonDisabled: false,\n }),\n mounted() {\n if (mousePositionEventBinded) {\n return;\n }\n // 只有点击事件支持从鼠标位置动画展开\n addEventListener(document.documentElement, 'click', e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY,\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => {\n mousePosition = null;\n }, 100);\n });\n mousePositionEventBinded = true;\n },\n // static info: ModalFunc;\n // static success: ModalFunc;\n // static error: ModalFunc;\n // static warn: ModalFunc;\n // static warning: ModalFunc;\n // static confirm: ModalFunc;\n methods: {\n handleCancel(e) {\n this.$emit('cancel', e);\n this.$emit('change', false);\n },\n\n handleOk(e) {\n this.$emit('ok', e);\n },\n renderFooter(locale) {\n const { okType, confirmLoading } = this;\n const cancelBtnProps = mergeProps(\n { on: { click: this.handleCancel } },\n this.cancelButtonProps || {},\n );\n const okBtnProps = mergeProps(\n {\n on: { click: this.handleOk },\n props: {\n type: okType,\n loading: confirmLoading,\n },\n },\n this.okButtonProps || {},\n );\n return (\n <div>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || locale.cancelText}\n </Button>\n <Button {...okBtnProps}>{getComponentFromProp(this, 'okText') || locale.okText}</Button>\n </div>\n );\n },\n },\n\n render() {\n const { visible, wrapClassName, centered, prefixCls, $listeners, $slots } = this;\n\n const defaultFooter = (\n <LocaleReceiver\n componentName=\"Modal\"\n defaultLocale={getConfirmLocale()}\n scopedSlots={{ default: this.renderFooter }}\n />\n );\n const closeIcon = (\n <span class={`${prefixCls}-close-x`}>\n <Icon class={`${prefixCls}-close-icon`} type={'close'} />\n </span>\n );\n const footer = getComponentFromProp(this, 'footer');\n const title = getComponentFromProp(this, 'title');\n const dialogProps = {\n props: {\n ...this.$props,\n prefixCls,\n wrapClassName: classNames({ [`${prefixCls}-centered`]: !!centered }, wrapClassName),\n title,\n footer: footer === undefined ? defaultFooter : footer,\n visible: visible,\n mousePosition,\n closeIcon,\n },\n on: {\n ...$listeners,\n close: this.handleCancel,\n },\n class: getClass(this),\n style: getStyle(this),\n };\n return <Dialog {...dialogProps}>{$slots.default}</Dialog>;\n },\n};\n","import Vue from 'vue';\nimport ConfirmDialog from './ConfirmDialog';\n\nexport default function confirm(config) {\n const div = document.createElement('div');\n const el = document.createElement('div');\n div.appendChild(el);\n document.body.appendChild(div);\n let currentConfig = { ...config, close, visible: true };\n\n let confirmDialogInstance = null;\n const confirmDialogProps = { props: {} };\n function close(...args) {\n destroy(...args);\n }\n function update(newConfig) {\n currentConfig = {\n ...currentConfig,\n ...newConfig,\n };\n confirmDialogProps.props = currentConfig;\n }\n function destroy(...args) {\n if (confirmDialogInstance && div.parentNode) {\n confirmDialogInstance.$destroy();\n confirmDialogInstance = null;\n div.parentNode.removeChild(div);\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel(...args);\n }\n }\n\n function render(props) {\n confirmDialogProps.props = props;\n return new Vue({\n el: el,\n data() {\n return { confirmDialogProps };\n },\n render() {\n // 先解构,避免报错,原因不详\n const cdProps = { ...this.confirmDialogProps };\n return <ConfirmDialog {...cdProps} />;\n },\n });\n }\n\n confirmDialogInstance = render(currentConfig);\n\n return {\n destroy: close,\n update,\n };\n}\n","import Modal from './Modal';\nimport modalConfirm from './confirm';\n\n// export { ActionButtonProps } from './ActionButton'\n// export { ModalProps, ModalFuncProps } from './Modal'\n\nconst info = function(props) {\n const config = {\n type: 'info',\n iconType: 'info-circle',\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst success = function(props) {\n const config = {\n type: 'success',\n iconType: 'check-circle',\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst error = function(props) {\n const config = {\n type: 'error',\n iconType: 'close-circle',\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst warning = function(props) {\n const config = {\n type: 'warning',\n iconType: 'exclamation-circle',\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\nconst warn = warning;\n\nconst confirm = function(props) {\n const config = {\n type: 'confirm',\n okCancel: true,\n ...props,\n };\n return modalConfirm(config);\n};\nModal.info = info;\nModal.success = success;\nModal.error = error;\nModal.warning = warning;\nModal.warn = warn;\nModal.confirm = confirm;\n\n/* istanbul ignore next */\nModal.install = function(Vue) {\n Vue.component(Modal.name, Modal);\n};\n\nexport default Modal;\n","import defaultLocale from '../locale-provider/default';\n\n// export interface ModalLocale {\n// okText: string;\n// cancelText: string;\n// justOkText: string;\n// }\n\nlet runtimeLocale = {\n ...defaultLocale.Modal,\n};\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = {\n ...runtimeLocale,\n ...newLocale,\n };\n } else {\n runtimeLocale = {\n ...defaultLocale.Modal,\n };\n }\n}\n\nexport function getConfirmLocale() {\n return runtimeLocale;\n}\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","// extracted by mini-css-extract-plugin","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\n// export type NotificationPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\n\n// export type IconType = 'success' | 'info' | 'error' | 'warning';\n\nconst notificationInstance = {};\nlet defaultDuration = 4.5;\nlet defaultTop = '24px';\nlet defaultBottom = '24px';\nlet defaultPlacement = 'topRight';\nlet defaultGetContainer = () => document.body;\n\n// export interface ConfigProps {\n// top?: number;\n// bottom?: number;\n// duration?: number;\n// placement?: NotificationPlacement;\n// getContainer?: () => HTMLElement;\n// }\nfunction setNotificationConfig(options) {\n const { duration, placement, bottom, top, getContainer } = options;\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n if (placement !== undefined) {\n defaultPlacement = placement;\n }\n if (bottom !== undefined) {\n defaultBottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n }\n if (top !== undefined) {\n defaultTop = typeof top === 'number' ? `${top}px` : top;\n }\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n}\n\nfunction getPlacementStyle(placement) {\n let style;\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top: defaultTop,\n bottom: 'auto',\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top: defaultTop,\n bottom: 'auto',\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom: defaultBottom,\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom: defaultBottom,\n };\n break;\n }\n return style;\n}\n\nfunction getNotificationInstance(prefixCls, placement, callback) {\n const cacheKey = `${prefixCls}-${placement}`;\n if (notificationInstance[cacheKey]) {\n callback(notificationInstance[cacheKey]);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n class: `${prefixCls}-${placement}`,\n style: getPlacementStyle(placement),\n getContainer: defaultGetContainer,\n closeIcon: h => <Icon class={`${prefixCls}-close-icon`} type={'close'} />, // eslint-disable-line\n },\n notification => {\n notificationInstance[cacheKey] = notification;\n callback(notification);\n },\n );\n}\n\nconst typeToIcon = {\n success: 'check-circle-o',\n info: 'info-circle-o',\n error: 'close-circle-o',\n warning: 'exclamation-circle-o',\n};\n\n// export interface ArgsProps {\n// message: React.ReactNode;\n// description: React.ReactNode;\n// btn?: React.ReactNode;\n// key?: string;\n// onClose?: () => void;\n// duration?: number | null;\n// icon?: React.ReactNode;\n// placement?: NotificationPlacement;\n// style?: React.CSSProperties;\n// prefixCls?: string;\n// className?: string;\n// readonly type?: IconType;\n// }\nfunction notice(args) {\n const { icon, type, description, placement, message, btn } = args;\n const outerPrefixCls = args.prefixCls || 'ant-notification';\n const prefixCls = `${outerPrefixCls}-notice`;\n const duration = args.duration === undefined ? defaultDuration : args.duration;\n\n let iconNode = null;\n if (icon) {\n iconNode = h => (\n <span class={`${prefixCls}-icon`}>{typeof icon === 'function' ? icon(h) : icon}</span>\n );\n } else if (type) {\n const iconType = typeToIcon[type];\n iconNode = h => <Icon class={`${prefixCls}-icon ${prefixCls}-icon-${type}`} type={iconType} />; // eslint-disable-line\n }\n\n getNotificationInstance(outerPrefixCls, placement || defaultPlacement, notification => {\n notification.notice({\n content: h => (\n <div class={iconNode ? `${prefixCls}-with-icon` : ''}>\n {iconNode && iconNode(h)}\n <div class={`${prefixCls}-message`}>\n {!description && iconNode ? (\n <span class={`${prefixCls}-message-single-line-auto-margin`} />\n ) : null}\n {typeof message === 'function' ? message(h) : message}\n </div>\n <div class={`${prefixCls}-description`}>\n {typeof description === 'function' ? description(h) : description}\n </div>\n {btn ? (\n <span class={`${prefixCls}-btn`}>{typeof btn === 'function' ? btn(h) : btn}</span>\n ) : null}\n </div>\n ),\n duration,\n closable: true,\n onClose: args.onClose,\n onClick: args.onClick,\n key: args.key,\n style: args.style || {},\n class: args.class,\n });\n });\n}\n\nconst api = {\n open: notice,\n close(key) {\n Object.keys(notificationInstance).forEach(cacheKey =>\n notificationInstance[cacheKey].removeNotice(key),\n );\n },\n config: setNotificationConfig,\n destroy() {\n Object.keys(notificationInstance).forEach(cacheKey => {\n notificationInstance[cacheKey].destroy();\n delete notificationInstance[cacheKey];\n });\n },\n};\n\n['success', 'info', 'warning', 'error'].forEach(type => {\n api[type] = args =>\n api.open({\n ...args,\n type,\n });\n});\n\napi.warn = api.warning;\n\n// export interface NotificationApi {\n// success(args: ArgsProps): void;\n// error(args: ArgsProps): void;\n// info(args: ArgsProps): void;\n// warn(args: ArgsProps): void;\n// warning(args: ArgsProps): void;\n// open(args: ArgsProps): void;\n// close(key: string): void;\n// config(options: ConfigProps): void;\n// destroy(): void;\n// }\nexport default api;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import VcSelect, { SelectProps } from '../select';\nimport { getOptionProps, filterEmpty } from '../_util/props-util';\n\nexport default {\n props: {\n ...SelectProps,\n },\n Option: VcSelect.Option,\n render() {\n const selectOptionsProps = getOptionProps(this);\n const selelctProps = {\n props: {\n ...selectOptionsProps,\n size: 'small',\n },\n on: this.$listeners,\n };\n return <VcSelect {...selelctProps}>{filterEmpty(this.$slots.default)}</VcSelect>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcSelect from '../select';\nimport MiniSelect from './MiniSelect';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getOptionProps } from '../_util/props-util';\nimport VcPagination from '../vc-pagination';\nimport Icon from '../icon';\n\nexport const PaginationProps = () => ({\n total: PropTypes.number,\n defaultCurrent: PropTypes.number,\n current: PropTypes.number,\n defaultPageSize: PropTypes.number,\n pageSize: PropTypes.number,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),\n buildOptionText: PropTypes.func,\n showSizeChange: PropTypes.func,\n showQuickJumper: PropTypes.bool,\n showTotal: PropTypes.any,\n size: PropTypes.string,\n simple: PropTypes.bool,\n locale: PropTypes.object,\n prefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n itemRender: PropTypes.any,\n role: PropTypes.string,\n});\n\nexport const PaginationConfig = () => ({\n ...PaginationProps(),\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n});\n\nexport default {\n name: 'APagination',\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n ...PaginationProps(),\n prefixCls: PropTypes.string.def('ant-pagination'),\n selectPrefixCls: PropTypes.string.def('ant-select'),\n },\n methods: {\n getIconsProps() {\n const { prefixCls } = this.$props;\n const prevIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"left\" />\n </a>\n );\n const nextIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"right\" />\n </a>\n );\n const jumpPrevIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-left\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n const jumpNextIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-right\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon,\n };\n },\n renderPagination(contextLocale) {\n const { buildOptionText, size, locale: customLocale, ...restProps } = getOptionProps(this);\n const isSmall = size === 'small';\n const paginationProps = {\n props: {\n ...restProps,\n ...this.getIconsProps(),\n selectComponentClass: isSmall ? MiniSelect : VcSelect,\n locale: { ...contextLocale, ...customLocale },\n buildOptionText: buildOptionText || this.$scopedSlots.buildOptionText,\n },\n class: {\n mini: isSmall,\n },\n on: this.$listeners,\n };\n\n return <VcPagination {...paginationProps} />;\n },\n },\n render() {\n return (\n <LocaleReceiver componentName=\"Pagination\" scopedSlots={{ default: this.renderPagination }} />\n );\n },\n};\n","import Pagination from './Pagination';\n\nexport { PaginationProps, PaginationConfig } from './Pagination';\n\n/* istanbul ignore next */\nPagination.install = function(Vue) {\n Vue.component(Pagination.name, Pagination);\n};\n\nexport default Pagination;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, hasProp, getComponentFromProp, mergeProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nimport Icon from '../icon';\nimport Button from '../button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\n\nconst tooltipProps = abstractTooltipProps();\nconst btnProps = buttonTypes();\nconst Popconfirm = {\n name: 'APopconfirm',\n props: {\n ...tooltipProps,\n prefixCls: PropTypes.string.def('ant-popover'),\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n trigger: tooltipProps.trigger.def('click'),\n okType: btnProps.type.def('primary'),\n okText: PropTypes.any,\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n },\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n data() {\n const props = getOptionProps(this);\n const state = { sVisible: false };\n if ('visible' in props) {\n state.sVisible = props.visible;\n } else if ('defaultVisible' in props) {\n state.sVisible = props.defaultVisible;\n }\n return state;\n },\n methods: {\n onConfirm(e) {\n this.setVisible(false, e);\n this.$emit('confirm', e);\n },\n\n onCancel(e) {\n this.setVisible(false, e);\n this.$emit('cancel', e);\n },\n\n onVisibleChange(sVisible) {\n this.setVisible(sVisible);\n },\n\n setVisible(sVisible, e) {\n if (!hasProp(this, 'visible')) {\n this.setState({ sVisible });\n }\n this.$emit('visibleChange', sVisible, e);\n },\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n renderOverlay(popconfirmLocale) {\n const { prefixCls, okType, okButtonProps, cancelButtonProps } = this;\n const icon = getComponentFromProp(this, 'icon') || (\n <Icon type=\"exclamation-circle\" theme=\"filled\" />\n );\n const cancelBtnProps = mergeProps(\n {\n props: {\n size: 'small',\n },\n on: {\n click: this.onCancel,\n },\n },\n cancelButtonProps,\n );\n const okBtnProps = mergeProps(\n {\n props: {\n type: okType,\n size: 'small',\n },\n on: {\n click: this.onConfirm,\n },\n },\n okButtonProps,\n );\n return (\n <div class={`${prefixCls}-inner-content`}>\n <div class={`${prefixCls}-message`}>\n {icon}\n <div class={`${prefixCls}-message-title`}>{getComponentFromProp(this, 'title')}</div>\n </div>\n <div class={`${prefixCls}-buttons`}>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || popconfirmLocale.cancelText}\n </Button>\n <Button {...okBtnProps}>\n {getComponentFromProp(this, 'okText') || popconfirmLocale.okText}\n </Button>\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const otherProps = omit(props, ['title', 'content', 'cancelText', 'okText']);\n const tooltipProps = {\n props: {\n ...otherProps,\n visible: this.sVisible,\n },\n ref: 'tooltip',\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n const overlay = (\n <LocaleReceiver\n componentName=\"Popconfirm\"\n defaultLocale={defaultLocale.Popconfirm}\n scopedSlots={{ default: this.renderOverlay }}\n />\n );\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">{overlay}</template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopconfirm.install = function(Vue) {\n Vue.component(Popconfirm.name, Popconfirm);\n};\n\nexport default Popconfirm;\n","import '../../style/index.less';\n\n// style dependencies\nimport '../../popover/style';\nimport '../../button/style';\n","import Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp } from '../_util/props-util';\n\nconst props = abstractTooltipProps();\nconst Popover = {\n name: 'APopover',\n props: {\n ...props,\n prefixCls: PropTypes.string.def('ant-popover'),\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n methods: {\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n },\n\n render() {\n const { title, prefixCls, $slots } = this;\n const props = getOptionProps(this);\n delete props.title;\n delete props.content;\n const tooltipProps = {\n props: {\n ...props,\n },\n ref: 'tooltip',\n on: this.$listeners,\n };\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">\n <div>\n {(title || $slots.title) && (\n <div class={`${prefixCls}-title`}>{getComponentFromProp(this, 'title')}</div>\n )}\n <div class={`${prefixCls}-inner-content`}>{getComponentFromProp(this, 'content')}</div>\n </div>\n </template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopover.install = function(Vue) {\n Vue.component(Popover.name, Popover);\n};\n\nexport default Popover;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Progress from './progress';\n\nexport { ProgressProps } from './progress';\n\n/* istanbul ignore next */\nProgress.install = function(Vue) {\n Vue.component(Progress.name, Progress);\n};\n\nexport default Progress;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, initDefaultProps } from '../_util/props-util';\nimport Icon from '../icon';\nimport { Circle } from '../vc-progress';\n\nfunction addUnit(num, unit) {\n const unitType = unit || 'px';\n return num ? num + unitType : null;\n}\nconst statusColorMap = {\n normal: '#108ee9',\n exception: '#ff5500',\n success: '#87d068',\n};\n\nexport const ProgressType = PropTypes.oneOf(['line', 'circle', 'dashboard']);\nexport const ProgressSize = PropTypes.oneOf(['default', 'small']);\n\nexport const ProgressProps = {\n prefixCls: PropTypes.string,\n type: ProgressType,\n percent: PropTypes.number,\n successPercent: PropTypes.number,\n format: PropTypes.func,\n status: PropTypes.oneOf(['normal', 'success', 'active', 'exception']),\n showInfo: PropTypes.bool,\n strokeWidth: PropTypes.number,\n strokeLinecap: PropTypes.oneOf(['round', 'square']),\n strokeColor: PropTypes.string,\n trailColor: PropTypes.string,\n width: PropTypes.number,\n gapDegree: PropTypes.number,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n size: ProgressSize,\n};\n\nconst validProgress = progress => {\n if (!progress || progress < 0) {\n return 0;\n } else if (progress > 100) {\n return 100;\n }\n return progress;\n};\n\nexport default {\n name: 'AProgress',\n props: initDefaultProps(ProgressProps, {\n type: 'line',\n percent: 0,\n showInfo: true,\n trailColor: '#f3f3f3',\n prefixCls: 'ant-progress',\n size: 'default',\n }),\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n percent = 0,\n status,\n format,\n trailColor,\n size,\n successPercent,\n type,\n strokeWidth,\n width,\n showInfo,\n gapDegree = 0,\n gapPosition,\n strokeColor,\n strokeLinecap = 'round',\n ...restProps\n } = props;\n const progressStatus =\n parseInt(successPercent ? successPercent.toString() : percent.toString(), 10) >= 100 &&\n !('status' in props)\n ? 'success'\n : status || 'normal';\n let progressInfo;\n let progress;\n const textFormatter = format || (percentNumber => `${percentNumber}%`);\n\n if (showInfo) {\n let text;\n const iconType = type === 'circle' || type === 'dashboard' ? '' : '-circle';\n if (format || (progressStatus !== 'exception' && progressStatus !== 'success')) {\n text = textFormatter(validProgress(percent), validProgress(successPercent));\n } else if (progressStatus === 'exception') {\n text = <Icon type={`close${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n } else if (progressStatus === 'success') {\n text = <Icon type={`check${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n }\n progressInfo = (\n <span class={`${prefixCls}-text`} title={typeof text === 'string' ? text : undefined}>\n {text}\n </span>\n );\n }\n\n if (type === 'line') {\n const percentStyle = {\n width: `${validProgress(percent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n background: strokeColor,\n borderRadius: strokeLinecap === 'square' ? 0 : '100px',\n };\n const successPercentStyle = {\n width: `${validProgress(successPercent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n borderRadius: strokeLinecap === 'square' ? 0 : '100px',\n };\n const successSegment =\n successPercent !== undefined ? (\n <div class={`${prefixCls}-success-bg`} style={successPercentStyle} />\n ) : null;\n progress = (\n <div>\n <div class={`${prefixCls}-outer`}>\n <div class={`${prefixCls}-inner`}>\n <div class={`${prefixCls}-bg`} style={percentStyle} />\n {successSegment}\n </div>\n </div>\n {progressInfo}\n </div>\n );\n } else if (type === 'circle' || type === 'dashboard') {\n const circleSize = width || 120;\n const circleStyle = {\n width: addUnit(circleSize),\n height: addUnit(circleSize),\n fontSize: addUnit(circleSize * 0.15 + 6),\n };\n const circleWidth = strokeWidth || 6;\n const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || 'top';\n const gapDeg = gapDegree || (type === 'dashboard' && 75);\n progress = (\n <div class={`${prefixCls}-inner`} style={circleStyle}>\n <Circle\n percent={validProgress(percent)}\n strokeWidth={circleWidth}\n trailWidth={circleWidth}\n strokeColor={strokeColor || statusColorMap[progressStatus]}\n strokeLinecap={strokeLinecap}\n trailColor={trailColor}\n prefixCls={prefixCls}\n gapDegree={gapDeg || 0}\n gapPosition={gapPos}\n />\n {progressInfo}\n </div>\n );\n }\n\n const classString = classNames(prefixCls, {\n [`${prefixCls}-${(type === 'dashboard' && 'circle') || type}`]: true,\n [`${prefixCls}-status-${progressStatus}`]: true,\n [`${prefixCls}-show-info`]: showInfo,\n [`${prefixCls}-${size}`]: size,\n });\n\n const progressProps = {\n props: {\n ...restProps,\n },\n on: this.$listeners,\n class: classString,\n };\n return <div {...progressProps}>{progress}</div>;\n },\n};\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport Radio from './Radio';\nimport { getOptionProps, filterEmpty, hasProp } from '../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'ARadioGroup',\n model: {\n prop: 'value',\n },\n props: {\n prefixCls: {\n default: 'ant-radio',\n type: String,\n },\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n size: {\n default: 'default',\n validator(value) {\n return ['large', 'default', 'small'].includes(value);\n },\n },\n options: {\n default: () => [],\n type: Array,\n },\n disabled: Boolean,\n name: String,\n buttonStyle: PropTypes.string.def('outline'),\n },\n data() {\n const { value, defaultValue } = this;\n return {\n stateValue: value === undefined ? defaultValue : value,\n };\n },\n provide() {\n return {\n radioGroupContext: this,\n };\n },\n computed: {\n radioOptions() {\n const { disabled } = this;\n return this.options.map(option => {\n return typeof option === 'string'\n ? { label: option, value: option }\n : { ...option, disabled: option.disabled === undefined ? disabled : option.disabled };\n });\n },\n classes() {\n const { prefixCls, size } = this;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${size}`]: size,\n };\n },\n },\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n methods: {\n onRadioChange(ev) {\n const lastValue = this.stateValue;\n const { value } = ev.target;\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n }\n if (value !== lastValue) {\n this.$emit('input', value);\n this.$emit('change', ev);\n }\n },\n },\n render() {\n const { mouseenter = noop, mouseleave = noop } = this.$listeners;\n const props = getOptionProps(this);\n const { prefixCls, options, buttonStyle } = props;\n const groupPrefixCls = `${prefixCls}-group`;\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${props.size}`]: props.size,\n });\n\n let children = filterEmpty(this.$slots.default);\n\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n children = options.map((option, index) => {\n if (typeof option === 'string') {\n return (\n <Radio\n key={index}\n prefixCls={prefixCls}\n disabled={props.disabled}\n value={option}\n onChange={this.onRadioChange}\n checked={this.stateValue === option}\n >\n {option}\n </Radio>\n );\n } else {\n return (\n <Radio\n key={index}\n prefixCls={prefixCls}\n disabled={option.disabled || props.disabled}\n value={option.value}\n onChange={this.onRadioChange}\n checked={this.stateValue === option.value}\n >\n {option.label}\n </Radio>\n );\n }\n });\n }\n\n return (\n <div class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n {children}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcCheckbox from '../vc-checkbox';\nimport classNames from 'classnames';\nimport { getOptionProps, getAttrs } from '../_util/props-util';\n\nfunction noop() {}\n\nexport default {\n name: 'ARadio',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: {\n default: 'ant-radio',\n type: String,\n },\n defaultChecked: Boolean,\n checked: { type: Boolean, default: undefined },\n disabled: Boolean,\n isGroup: Boolean,\n value: PropTypes.any,\n name: String,\n id: String,\n autoFocus: Boolean,\n type: PropTypes.string.def('radio'),\n },\n inject: {\n radioGroupContext: { default: undefined },\n },\n methods: {\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n },\n\n render() {\n const { $slots, $listeners, radioGroupContext: radioGroup } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, ...restListeners } = $listeners;\n const { prefixCls, ...restProps } = props;\n const radioProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n\n if (radioGroup) {\n radioProps.props.name = radioGroup.name;\n radioProps.on.change = radioGroup.onRadioChange;\n radioProps.props.checked = props.value === radioGroup.stateValue;\n radioProps.props.disabled = props.disabled || radioGroup.disabled;\n } else {\n radioProps.on.change = this.handleChange;\n }\n const wrapperClassString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: radioProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.props.disabled,\n });\n\n return (\n <label class={wrapperClassString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...radioProps} ref=\"vcCheckbox\" />\n {children !== undefined ? <span>{children}</span> : null}\n </label>\n );\n },\n};\n","import Radio from './Radio';\nimport { getOptionProps } from '../_util/props-util';\n\nexport default {\n name: 'ARadioButton',\n props: {\n ...Radio.props,\n prefixCls: {\n default: 'ant-radio-button',\n type: String,\n },\n },\n inject: {\n radioGroupContext: { default: undefined },\n },\n render() {\n const props = getOptionProps(this);\n const radioProps = { props, on: { ...this.$listeners } };\n if (this.radioGroupContext) {\n radioProps.on.change = this.radioGroupContext.onRadioChange;\n radioProps.props.checked = props.value === this.radioGroupContext.stateValue;\n radioProps.props.disabled = props.disabled || this.radioGroupContext.disabled;\n }\n return <Radio {...radioProps}>{this.$slots.default}</Radio>;\n },\n};\n","import Radio from './Radio';\nimport Group from './Group';\nimport Button from './RadioButton';\n\nRadio.Group = Group;\nRadio.Button = Button;\n\n/* istanbul ignore next */\nRadio.install = function(Vue) {\n Vue.component(Radio.name, Radio);\n Vue.component(Radio.Group.name, Radio.Group);\n Vue.component(Radio.Button.name, Radio.Button);\n};\n\nexport { Button, Group };\nexport default Radio;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getComponentFromProp } from '../_util/props-util';\nimport VcRate from '../vc-rate';\nimport Icon from '../icon';\n\nexport const RateProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.number,\n value: PropTypes.value,\n defaultValue: PropTypes.value,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n autoFocus: PropTypes.bool,\n};\n\nconst Rate = {\n name: 'ARate',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(RateProps, {\n prefixCls: 'ant-rate',\n }),\n methods: {\n focus() {\n this.$refs.refRate.focus();\n },\n blur() {\n this.$refs.refRate.blur();\n },\n },\n render() {\n const character = getComponentFromProp(this, 'character') || (\n <Icon type=\"star\" theme=\"filled\" />\n );\n const rateProps = {\n props: {\n character,\n ...getOptionProps(this),\n },\n on: this.$listeners,\n ref: 'refRate',\n };\n return <VcRate {...rateProps} />;\n },\n};\n\n/* istanbul ignore next */\nRate.install = function(Vue) {\n Vue.component(Rate.name, Rate);\n};\nexport default Rate;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { Row } from '../grid';\n\n/* istanbul ignore next */\nRow.install = function(Vue) {\n Vue.component(Row.name, Row);\n};\n\nexport default Row;\n","import '../../style/index.less';\nimport '../../grid/style/index.less';\n","import warning from 'warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n} from '../_util/props-util';\nimport Icon from '../icon';\nimport { cloneElement } from '../_util/vnode';\n\nconst AbstractSelectProps = () => ({\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n showAction: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n notFoundContent: PropTypes.any,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n showSearch: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n placeholder: PropTypes.any,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.any,\n dropdownMenuStyle: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onSearch: (value: string) => any,\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n showArrow: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n autoClearSearchValue: PropTypes.bool,\n dropdownRender: PropTypes.func,\n loading: PropTypes.bool,\n});\nconst Value = PropTypes.shape({\n key: PropTypes.string,\n}).loose;\n\nconst SelectValue = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([Value, PropTypes.string, PropTypes.number])),\n Value,\n]);\n\nconst SelectProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n // mode: PropTypes.oneOf(['default', 'multiple', 'tags', 'combobox']),\n mode: PropTypes.string,\n optionLabelProp: PropTypes.string,\n firstActiveValue: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n optionFilterProp: PropTypes.string,\n labelInValue: PropTypes.boolean,\n getPopupContainer: PropTypes.func,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n options: PropTypes.array,\n suffixIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n};\n\nconst SelectPropTypes = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['default', 'large', 'small']),\n // combobox: PropTypes.bool,\n notFoundContent: PropTypes.any,\n showSearch: PropTypes.bool,\n optionLabelProp: PropTypes.string,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n};\n\nexport { AbstractSelectProps, SelectValue, SelectProps };\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst Select = {\n SECRET_COMBOBOX_MODE_DO_NOT_USE,\n Option: { ...Option, name: 'ASelectOption' },\n OptGroup: { ...OptGroup, name: 'ASelectOptGroup' },\n name: 'ASelect',\n props: {\n ...SelectProps,\n prefixCls: PropTypes.string.def('ant-select'),\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n },\n propTypes: SelectPropTypes,\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n created() {\n warning(\n this.$props.mode !== 'combobox',\n 'The combobox mode of Select is deprecated,' +\n 'it will be removed in next major version,' +\n 'please use AutoComplete instead',\n );\n },\n methods: {\n focus() {\n this.$refs.vcSelect.focus();\n },\n blur() {\n this.$refs.vcSelect.blur();\n },\n getNotFoundContent(locale) {\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (this.isCombobox()) {\n // AutoComplete don't have notFoundContent defaultly\n return notFoundContent === undefined ? null : notFoundContent;\n }\n return notFoundContent === undefined ? locale.notFoundContent : notFoundContent;\n },\n isCombobox() {\n const { mode } = this;\n return mode === 'combobox' || mode === SECRET_COMBOBOX_MODE_DO_NOT_USE;\n },\n\n renderSuffixIcon() {\n const { prefixCls, loading } = this.$props;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n if (suffixIcon) {\n return isValidElement(suffixIcon)\n ? cloneElement(suffixIcon, { class: `${prefixCls}-arrow-icon` })\n : suffixIcon;\n }\n if (loading) {\n return <Icon type=\"loading\" />;\n }\n return <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n },\n\n renderSelect(locale) {\n const { prefixCls, size, mode, options, getPopupContainer, ...restProps } = getOptionProps(\n this,\n );\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n let removeIcon = getComponentFromProp(this, 'removeIcon');\n removeIcon = Array.isArray(removeIcon) ? removeIcon[0] : removeIcon;\n let clearIcon = getComponentFromProp(this, 'clearIcon');\n clearIcon = Array.isArray(clearIcon) ? clearIcon[0] : clearIcon;\n let menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n menuItemSelectedIcon = Array.isArray(menuItemSelectedIcon)\n ? menuItemSelectedIcon[0]\n : menuItemSelectedIcon;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'suffixIcon',\n 'menuItemSelectedIcon',\n ]);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n let { optionLabelProp } = this.$props;\n if (this.isCombobox()) {\n // children 带 dom 结构时,无法填入输入框\n optionLabelProp = optionLabelProp || 'value';\n }\n\n const modeConfig = {\n multiple: mode === 'multiple',\n tags: mode === 'tags',\n combobox: this.isCombobox(),\n };\n const finalRemoveIcon = (removeIcon &&\n (isValidElement(removeIcon)\n ? cloneElement(removeIcon, { class: `${prefixCls}-remove-icon` })\n : removeIcon)) || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = (clearIcon &&\n (isValidElement(clearIcon)\n ? cloneElement(clearIcon, { class: `${prefixCls}-clear-icon` })\n : clearIcon)) || (\n <Icon type=\"close-circle\" theme=\"filled\" class={`${prefixCls}-clear-icon`} />\n );\n\n const finalMenuItemSelectedIcon = (menuItemSelectedIcon &&\n (isValidElement(menuItemSelectedIcon)\n ? cloneElement(menuItemSelectedIcon, { class: `${prefixCls}-selected-icon` })\n : menuItemSelectedIcon)) || <Icon type=\"check\" class={`${prefixCls}-selected-icon`} />;\n\n const selectProps = {\n props: {\n inputIcon: this.renderSuffixIcon(),\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n menuItemSelectedIcon: finalMenuItemSelectedIcon,\n ...rest,\n ...modeConfig,\n prefixCls,\n optionLabelProp: optionLabelProp || 'children',\n notFoundContent: this.getNotFoundContent(locale),\n maxTagPlaceholder: getComponentFromProp(this, 'maxTagPlaceholder'),\n placeholder: getComponentFromProp(this, 'placeholder'),\n children: options\n ? options.map(option => {\n const { key, label = option.title, on, class: cls, style, ...restOption } = option;\n return (\n <Option key={key} {...{ props: restOption, on, class: cls, style }}>\n {label}\n </Option>\n );\n })\n : filterEmpty(this.$slots.default),\n __propsSymbol__: Symbol(),\n dropdownRender: getComponentFromProp(this, 'dropdownRender', {}, false),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: this.$listeners,\n class: cls,\n ref: 'vcSelect',\n };\n return <VcSelect {...selectProps} />;\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Select\"\n defaultLocale={defaultLocale.Select}\n scopedSlots={{ default: this.renderSelect }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nSelect.install = function(Vue) {\n Vue.component(Select.name, Select);\n Vue.component(Select.Option.name, Select.Option);\n Vue.component(Select.OptGroup.name, Select.OptGroup);\n};\n\nexport default Select;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nconst skeletonAvatarProps = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n shape: PropTypes.oneOf(['circle', 'square']),\n};\n\nexport const SkeletonAvatarProps = PropTypes.shape(skeletonAvatarProps).loose;\n\nconst Avatar = {\n props: initDefaultProps(skeletonAvatarProps, {\n prefixCls: 'ant-skeleton-avatar',\n size: 'large',\n }),\n render() {\n const { prefixCls, size, shape } = this.$props;\n\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n });\n\n return <span class={classNames(prefixCls, sizeCls, shapeCls)} />;\n },\n};\n\nexport default Avatar;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nconst widthUnit = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nconst skeletonParagraphProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([widthUnit, PropTypes.arrayOf(widthUnit)]),\n rows: PropTypes.number,\n};\n\nexport const SkeletonParagraphProps = PropTypes.shape(skeletonParagraphProps);\n\nconst Paragraph = {\n props: initDefaultProps(skeletonParagraphProps, {\n prefixCls: 'ant-skeleton-paragraph',\n }),\n methods: {\n getWidth(index) {\n const { width, rows = 2 } = this;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n },\n },\n render() {\n const { prefixCls, rows } = this.$props;\n const rowList = [...Array(rows)].map((_, index) => {\n const width = this.getWidth(index);\n return <li key={index} style={{ width: typeof width === 'number' ? `${width}px` : width }} />;\n });\n return <ul class={prefixCls}>{rowList}</ul>;\n },\n};\n\nexport default Paragraph;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nconst skeletonTitleProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nexport const SkeletonTitleProps = PropTypes.shape(skeletonTitleProps);\n\nconst Title = {\n props: initDefaultProps(skeletonTitleProps, {\n prefixCls: 'ant-skeleton-title',\n }),\n render() {\n const { prefixCls, width } = this.$props;\n const zWidth = typeof width === 'number' ? `${width}px` : width;\n return <h3 class={prefixCls} style={{ width: zWidth }} />;\n },\n};\n\nexport default Title;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, hasProp } from '../_util/props-util';\nimport Avatar, { SkeletonAvatarProps } from './Avatar';\nimport Title, { SkeletonTitleProps } from './Title';\nimport Paragraph, { SkeletonParagraphProps } from './Paragraph';\n\nexport const SkeletonProps = {\n active: PropTypes.bool,\n loading: PropTypes.bool,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n avatar: PropTypes.oneOfType([PropTypes.string, SkeletonAvatarProps, PropTypes.bool]),\n title: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonTitleProps]),\n paragraph: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonParagraphProps]),\n};\n\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\n\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n return { shape: 'square' };\n }\n\n return { shape: 'circle' };\n}\n\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return { width: '38%' };\n }\n\n if (hasAvatar && hasParagraph) {\n return { width: '50%' };\n }\n\n return {};\n}\n\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n\n return basicProps;\n}\n\nconst Skeleton = {\n name: 'ASkeleton',\n props: initDefaultProps(SkeletonProps, {\n prefixCls: 'ant-skeleton',\n avatar: false,\n title: true,\n paragraph: true,\n }),\n render() {\n const { loading, prefixCls, avatar, title, paragraph, active } = this.$props;\n if (loading || !hasProp(this, 'loading')) {\n const hasAvatar = !!avatar || avatar === '';\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = {\n props: {\n ...getAvatarBasicProps(hasTitle, hasParagraph),\n ...getComponentProps(avatar),\n },\n };\n\n avatarNode = (\n <div class={`${prefixCls}-header`}>\n <Avatar {...avatarProps} />\n </div>\n );\n }\n\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = {\n props: {\n ...getTitleBasicProps(hasAvatar, hasParagraph),\n ...getComponentProps(title),\n },\n };\n\n $title = <Title {...titleProps} />;\n }\n\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = {\n props: {\n ...getParagraphBasicProps(hasAvatar, hasTitle),\n ...getComponentProps(paragraph),\n },\n };\n\n paragraphNode = <Paragraph {...paragraphProps} />;\n }\n\n contentNode = (\n <div class={`${prefixCls}-content`}>\n {$title}\n {paragraphNode}\n </div>\n );\n }\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n });\n\n return (\n <div class={cls}>\n {avatarNode}\n {contentNode}\n </div>\n );\n }\n return this.$slots.default && this.$slots.default[0];\n },\n};\n/* istanbul ignore next */\nSkeleton.install = function(Vue) {\n Vue.component(Skeleton.name, Skeleton);\n};\nexport default Skeleton;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps } from '../_util/props-util';\nimport VcSlider from '../vc-slider/src/Slider';\nimport VcRange from '../vc-slider/src/Range';\nimport VcHandle from '../vc-slider/src/Handle';\nimport Tooltip from '../tooltip';\n\n// export interface SliderMarks {\n// [key]: React.ReactNode | {\n// style: React.CSSProperties,\n// label: React.ReactNode,\n// };\n// }\n// const SliderMarks = PropTypes.shape({\n// style: PropTypes.object,\n// label: PropTypes.any,\n// }).loose\n\nexport const SliderProps = () => ({\n prefixCls: PropTypes.string,\n tooltipPrefixCls: PropTypes.string,\n range: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.any]),\n marks: PropTypes.object,\n dots: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n included: PropTypes.bool,\n disabled: PropTypes.bool,\n vertical: PropTypes.bool,\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltipVisible: PropTypes.bool,\n});\n\nconst Slider = {\n name: 'ASlider',\n model: {\n prop: 'value',\n event: 'change',\n },\n mixins: [BaseMixin],\n props: {\n ...SliderProps(),\n prefixCls: PropTypes.string.def('ant-slider'),\n tooltipPrefixCls: PropTypes.string.def('ant-tooltip'),\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(value =>\n value.toString(),\n ),\n },\n data() {\n return {\n visibles: {},\n };\n },\n methods: {\n toggleTooltipVisible(index, visible) {\n this.setState(({ visibles }) => ({\n visibles: {\n ...visibles,\n [index]: visible,\n },\n }));\n },\n handleWithTooltip({ value, dragging, index, directives, on, ...restProps }) {\n const { tooltipPrefixCls, tipFormatter, tooltipVisible } = this.$props;\n const { visibles } = this;\n const isTipFormatter = tipFormatter ? visibles[index] || dragging : false;\n const visible = tooltipVisible || (tooltipVisible === undefined && isTipFormatter);\n const tooltipProps = {\n props: {\n prefixCls: tooltipPrefixCls,\n title: tipFormatter ? tipFormatter(value) : '',\n visible,\n placement: 'top',\n transitionName: 'fade',\n },\n key: index,\n };\n const handleProps = {\n props: {\n value,\n ...restProps,\n },\n directives,\n on: {\n ...on,\n mouseenter: () => this.toggleTooltipVisible(index, true),\n mouseleave: () => this.toggleTooltipVisible(index, false),\n },\n };\n return (\n <Tooltip {...tooltipProps}>\n <VcHandle {...handleProps} />\n </Tooltip>\n );\n },\n focus() {\n this.$refs.sliderRef.focus();\n },\n blur() {\n this.$refs.sliderRef.blur();\n },\n },\n render() {\n const { range, ...restProps } = getOptionProps(this);\n if (range) {\n const vcRangeProps = {\n props: {\n ...restProps,\n handle: this.handleWithTooltip,\n },\n ref: 'sliderRef',\n on: this.$listeners,\n };\n return <VcRange {...vcRangeProps} />;\n }\n const vcSliderProps = {\n props: {\n ...restProps,\n handle: this.handleWithTooltip,\n },\n ref: 'sliderRef',\n on: this.$listeners,\n };\n return <VcSlider {...vcSliderProps} />;\n },\n};\n\n/* istanbul ignore next */\nSlider.install = function(Vue) {\n Vue.component(Slider.name, Slider);\n};\n\nexport default Slider;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n filterEmpty,\n initDefaultProps,\n isValidElement,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport const SpinSize = PropTypes.oneOf(['small', 'default', 'large']);\n\nexport const SpinProps = () => ({\n prefixCls: PropTypes.string,\n spinning: PropTypes.bool,\n size: SpinSize,\n wrapperClassName: PropTypes.string,\n tip: PropTypes.string,\n delay: PropTypes.number,\n indicator: PropTypes.any,\n});\n\n// Render indicator\nlet defaultIndicator;\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nexport function setDefaultIndicator(content) {\n defaultIndicator =\n typeof content.indicator === 'function'\n ? content.indicator\n : h => {\n return <content.indicator />;\n };\n}\n\nexport default {\n name: 'ASpin',\n mixins: [BaseMixin],\n props: initDefaultProps(SpinProps(), {\n prefixCls: 'ant-spin',\n size: 'default',\n spinning: true,\n wrapperClassName: '',\n }),\n data() {\n const { spinning, delay } = this;\n this.debounceTimeout = null;\n this.delayTimeout = null;\n return {\n sSpinning: spinning && !shouldDelay(spinning, delay),\n };\n },\n updated() {\n this.$nextTick(() => {\n const { delay, spinning, sSpinning } = this;\n if (sSpinning === spinning) {\n return;\n }\n\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n if (sSpinning && !spinning) {\n this.debounceTimeout = window.setTimeout(() => this.setState({ sSpinning: spinning }), 200);\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n } else {\n if (shouldDelay(spinning, delay)) {\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n this.delayTimeout = window.setTimeout(this.delayUpdateSpinning, delay);\n } else {\n this.setState({ sSpinning: spinning });\n }\n }\n });\n },\n beforeDestroy() {\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n methods: {\n delayUpdateSpinning() {\n const { spinning, sSpinning } = this;\n if (sSpinning !== spinning) {\n this.setState({ sSpinning: spinning });\n }\n },\n getChildren() {\n if (this.$slots && this.$slots.default) {\n return filterEmpty(this.$slots.default);\n }\n return null;\n },\n renderIndicator(h, props) {\n // const h = this.$createElement\n const { prefixCls } = props;\n const dotClassName = `${prefixCls}-dot`;\n let indicator = getComponentFromProp(this, 'indicator');\n if (Array.isArray(indicator)) {\n indicator = filterEmpty(indicator);\n indicator = indicator.length === 1 ? indicator[0] : indicator;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, { class: dotClassName });\n }\n\n if (defaultIndicator && isValidElement(defaultIndicator(h))) {\n return cloneElement(defaultIndicator(h), { class: dotClassName });\n }\n\n return (\n <span class={`${dotClassName} ${prefixCls}-dot-spin`}>\n <i />\n <i />\n <i />\n <i />\n </span>\n );\n },\n },\n render(h) {\n const { size, prefixCls, tip, wrapperClassName, ...restProps } = this.$props;\n const { sSpinning } = this;\n const spinClassName = {\n [prefixCls]: true,\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: sSpinning,\n [`${prefixCls}-show-text`]: !!tip,\n };\n\n const spinElement = (\n <div {...restProps} class={spinClassName}>\n {this.renderIndicator(h, this.$props)}\n {tip ? <div class={`${prefixCls}-text`}>{tip}</div> : null}\n </div>\n );\n const children = this.getChildren();\n if (children) {\n const containerClassName = {\n [`${prefixCls}-container`]: true,\n [`${prefixCls}-blur`]: sSpinning,\n };\n\n return (\n <div {...{ on: this.$listeners }} class={[`${prefixCls}-nested-loading`, wrapperClassName]}>\n {sSpinning && <div key=\"loading\">{spinElement}</div>}\n <div class={containerClassName} key=\"container\">\n {children}\n </div>\n </div>\n );\n }\n return spinElement;\n },\n};\n","import Spin, { setDefaultIndicator } from './Spin';\n\nexport { SpinProps } from './Spin';\n\nSpin.setDefaultIndicator = setDefaultIndicator;\n\n/* istanbul ignore next */\nSpin.install = function(Vue) {\n Vue.component(Spin.name, Spin);\n};\n\nexport default Spin;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport VcSteps from '../vc-steps';\nimport Icon from '../icon';\n\nconst getStepsProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n iconPrefix: PropTypes.string,\n current: PropTypes.number,\n initial: PropTypes.number,\n labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),\n status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),\n size: PropTypes.oneOf(['default', 'small']),\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nconst Steps = {\n name: 'ASteps',\n props: getStepsProps({\n prefixCls: 'ant-steps',\n iconPrefix: 'ant',\n current: 0,\n }),\n Step: { ...VcSteps.Step, name: 'AStep' },\n render() {\n const props = getOptionProps(this);\n const { prefixCls } = props;\n const icons = {\n finish: <Icon type=\"check\" class={`${prefixCls}-finish-icon`} />,\n error: <Icon type=\"close\" class={`${prefixCls}-error-icon`} />,\n };\n const stepsProps = {\n props: {\n icons,\n ...props,\n },\n on: this.$listeners,\n scopedSlots: this.$scopedSlots,\n };\n return <VcSteps {...stepsProps}>{this.$slots.default}</VcSteps>;\n },\n};\n\n/* istanbul ignore next */\nSteps.install = function(Vue) {\n Vue.component(Steps.name, Steps);\n Vue.component(Steps.Step.name, Steps.Step);\n};\n\nexport default Steps;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp } from '../_util/props-util';\nimport VcSwitch from '../vc-switch';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\n\nconst Switch = {\n name: 'ASwitch',\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string.def('ant-switch'),\n // size=default and size=large are the same\n size: PropTypes.oneOf(['small', 'default', 'large']),\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n tabIndex: PropTypes.number,\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n loading: PropTypes.bool,\n },\n methods: {\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n\n render() {\n const { prefixCls, size, loading, disabled, ...restProps } = getOptionProps(this);\n const classes = {\n [`${prefixCls}-small`]: size === 'small',\n [`${prefixCls}-loading`]: loading,\n };\n const loadingIcon = loading ? (\n <Icon type=\"loading\" class={`${prefixCls}-loading-icon`} />\n ) : null;\n const switchProps = {\n props: {\n ...restProps,\n prefixCls,\n loadingIcon,\n checkedChildren: getComponentFromProp(this, 'checkedChildren'),\n unCheckedChildren: getComponentFromProp(this, 'unCheckedChildren'),\n disabled: disabled || loading,\n },\n on: this.$listeners,\n class: classes,\n ref: 'refSwitchNode',\n };\n return (\n <Wave insertExtraNode>\n <VcSwitch {...switchProps} />\n </Wave>\n );\n },\n};\n\n/* istanbul ignore next */\nSwitch.install = function(Vue) {\n Vue.component(Switch.name, Switch);\n};\n\nexport default Switch;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { ColumnProps } from './interface';\n\nexport default {\n name: 'ATableColumn',\n props: ColumnProps,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ATableColumnGroup',\n props: {\n title: PropTypes.any,\n },\n __ANT_TABLE_COLUMN_GROUP: true,\n};\n","export default {\n methods: {\n handelClick(e) {\n this.$emit('click', e);\n },\n },\n render() {\n const { $slots, handelClick } = this;\n return <div onClick={handelClick}>{$slots.default}</div>;\n },\n};\n","import Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport { SelectionBoxProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps } from '../_util/props-util';\n\nexport default {\n name: 'SelectionBox',\n mixins: [BaseMixin],\n props: SelectionBoxProps,\n data() {\n return {\n checked: this.getCheckState(this.$props),\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n const checked = this.getCheckState(this.$props);\n this.setState({ checked });\n });\n },\n\n getCheckState(props) {\n const { store, defaultSelection, rowIndex } = props;\n let checked = false;\n if (store.getState().selectionDirty) {\n checked = store.getState().selectedRowKeys.indexOf(rowIndex) >= 0;\n } else {\n checked =\n store.getState().selectedRowKeys.indexOf(rowIndex) >= 0 ||\n defaultSelection.indexOf(rowIndex) >= 0;\n }\n return checked;\n },\n },\n\n render() {\n const { type, rowIndex, ...rest } = getOptionProps(this);\n const { checked, $attrs, $listeners } = this;\n const checkboxProps = {\n props: {\n checked,\n ...rest,\n },\n attrs: $attrs,\n on: $listeners,\n };\n if (type === 'radio') {\n checkboxProps.props.value = rowIndex;\n return <Radio {...checkboxProps} />;\n } else {\n return <Checkbox {...checkboxProps} />;\n }\n },\n};\n","import Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport Menu from '../menu';\nimport Icon from '../icon';\nimport classNames from 'classnames';\nimport { SelectionCheckboxAllProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n name: 'SelectionCheckboxAll',\n mixins: [BaseMixin],\n props: SelectionCheckboxAllProps,\n data() {\n const { $props: props } = this;\n this.defaultSelections = props.hideDefaultSelections\n ? []\n : [\n {\n key: 'all',\n text: props.locale.selectAll,\n onSelect: () => {},\n },\n {\n key: 'invert',\n text: props.locale.selectInvert,\n onSelect: () => {},\n },\n ];\n\n return {\n checked: this.getCheckState(props),\n indeterminate: this.getIndeterminateState(props),\n };\n },\n\n watch: {\n $props: {\n handler: function() {\n this.setCheckState();\n },\n deep: true,\n },\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n this.setCheckState(this.$props);\n });\n },\n\n checkSelection(props, data, type, byDefaultChecked) {\n const { store, getCheckboxPropsByItem, getRecordKey } = props || this.$props;\n // type should be 'every' | 'some'\n if (type === 'every' || type === 'some') {\n return byDefaultChecked\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).props.defaultChecked)\n : data[type](\n (item, i) => store.getState().selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0,\n );\n }\n return false;\n },\n\n setCheckState(props) {\n const checked = this.getCheckState(props);\n const indeterminate = this.getIndeterminateState(props);\n this.setState(prevState => {\n const newState = {};\n if (indeterminate !== prevState.indeterminate) {\n newState.indeterminate = indeterminate;\n }\n if (checked !== prevState.checked) {\n newState.checked = checked;\n }\n return newState;\n });\n },\n\n getCheckState(props) {\n const { store, data } = this;\n let checked;\n if (!data.length) {\n checked = false;\n } else {\n checked = store.getState().selectionDirty\n ? this.checkSelection(props, data, 'every', false)\n : this.checkSelection(props, data, 'every', false) ||\n this.checkSelection(props, data, 'every', true);\n }\n return checked;\n },\n\n getIndeterminateState(props) {\n const { store, data } = this;\n let indeterminate;\n if (!data.length) {\n indeterminate = false;\n } else {\n indeterminate = store.getState().selectionDirty\n ? this.checkSelection(props, data, 'some', false) &&\n !this.checkSelection(props, data, 'every', false)\n : (this.checkSelection(props, data, 'some', false) &&\n !this.checkSelection(props, data, 'every', false)) ||\n (this.checkSelection(props, data, 'some', true) &&\n !this.checkSelection(props, data, 'every', true));\n }\n return indeterminate;\n },\n\n handleSelectAllChange(e) {\n const checked = e.target.checked;\n this.$emit('select', checked ? 'all' : 'removeAll', 0, null);\n },\n\n renderMenus(selections) {\n return selections.map((selection, index) => {\n return (\n <Menu.Item key={selection.key || index}>\n <div\n onClick={() => {\n this.$emit('select', selection.key, index, selection.onSelect);\n }}\n >\n {selection.text}\n </div>\n </Menu.Item>\n );\n });\n },\n },\n\n render() {\n const { disabled, prefixCls, selections, getPopupContainer, checked, indeterminate } = this;\n\n const selectionPrefixCls = `${prefixCls}-selection`;\n\n let customSelections = null;\n\n if (selections) {\n const newSelections = Array.isArray(selections)\n ? this.defaultSelections.concat(selections)\n : this.defaultSelections;\n\n const menu = (\n <Menu class={`${selectionPrefixCls}-menu`} selectedKeys={[]}>\n {this.renderMenus(newSelections)}\n </Menu>\n );\n\n customSelections =\n newSelections.length > 0 ? (\n <Dropdown getPopupContainer={getPopupContainer}>\n <template slot=\"overlay\">{menu}</template>\n <div class={`${selectionPrefixCls}-down`}>\n <Icon type=\"down\" />\n </div>\n </Dropdown>\n ) : null;\n }\n\n return (\n <div class={selectionPrefixCls}>\n <Checkbox\n class={classNames({ [`${selectionPrefixCls}-select-all-custom`]: customSelections })}\n checked={checked}\n indeterminate={indeterminate}\n disabled={disabled}\n onChange={this.handleSelectAllChange}\n />\n {customSelections}\n </div>\n );\n },\n};\n","import VcTable from '../vc-table';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport Pagination from '../pagination';\nimport Icon from '../icon';\nimport Spin from '../spin';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport warning from '../_util/warning';\nimport FilterDropdown from './filterDropdown';\nimport createStore from './createStore';\nimport SelectionBox from './SelectionBox';\nimport SelectionCheckboxAll from './SelectionCheckboxAll';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport createBodyRow from './createBodyRow';\nimport { flatArray, treeMap, flatFilter } from './util';\nimport {\n initDefaultProps,\n mergeProps,\n getOptionProps,\n isValidElement,\n filterEmpty,\n getAllProps,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { TableProps } from './interface';\n\nfunction noop() {}\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n if (e.nativeEvent && e.nativeEvent.stopImmediatePropagation) {\n e.nativeEvent.stopImmediatePropagation();\n }\n}\n\nfunction getRowSelection(props) {\n return props.rowSelection || {};\n}\n\nconst defaultPagination = {\n onChange: noop,\n onShowSizeChange: noop,\n};\n\n/**\n * Avoid creating new object, so that parent component's shouldComponentUpdate\n * can works appropriately。\n */\nconst emptyObject = {};\n\nexport default {\n name: 'Table',\n Column,\n ColumnGroup,\n mixins: [BaseMixin],\n props: initDefaultProps(TableProps, {\n dataSource: [],\n prefixCls: 'ant-table',\n useFixedHeader: false,\n // rowSelection: null,\n size: 'default',\n loading: false,\n bordered: false,\n indentSize: 20,\n locale: {},\n rowKey: 'key',\n showHeader: true,\n }),\n\n // CheckboxPropsCache: {\n // [key: string]: any;\n // };\n // store: Store;\n // columns: ColumnProps<T>[];\n // components: TableComponents;\n\n data() {\n // this.columns = props.columns || normalizeColumns(props.children)\n\n this.createComponents(this.components);\n this.CheckboxPropsCache = {};\n\n this.store = createStore({\n selectedRowKeys: getRowSelection(this.$props).selectedRowKeys || [],\n selectionDirty: false,\n });\n return {\n ...this.getDefaultSortOrder(this.columns),\n // 减少状态\n sFilters: this.getFiltersFromColumns(),\n sPagination: this.getDefaultPagination(this.$props),\n pivot: undefined,\n };\n },\n watch: {\n pagination: {\n handler(val) {\n this.setState(previousState => {\n const newPagination = {\n ...defaultPagination,\n ...previousState.sPagination,\n ...val,\n };\n newPagination.current = newPagination.current || 1;\n newPagination.pageSize = newPagination.pageSize || 10;\n return { sPagination: val !== false ? newPagination : emptyObject };\n });\n },\n deep: true,\n },\n rowSelection: {\n handler(val) {\n if (val && 'selectedRowKeys' in val) {\n this.store.setState({\n selectedRowKeys: val.selectedRowKeys || [],\n });\n const { rowSelection } = this;\n if (rowSelection && val.getCheckboxProps !== rowSelection.getCheckboxProps) {\n this.CheckboxPropsCache = {};\n }\n }\n },\n deep: true,\n },\n dataSource() {\n this.store.setState({\n selectionDirty: false,\n });\n this.CheckboxPropsCache = {};\n },\n columns(val) {\n if (this.getSortOrderColumns(val).length > 0) {\n const sortState = this.getSortStateFromColumns(val);\n if (\n sortState.sSortColumn !== this.sSortColumn ||\n sortState.sSortOrder !== this.sSortOrder\n ) {\n this.setState(sortState);\n }\n }\n\n const filteredValueColumns = this.getFilteredValueColumns(val);\n if (filteredValueColumns.length > 0) {\n const filtersFromColumns = this.getFiltersFromColumns(val);\n const newFilters = { ...this.sFilters };\n Object.keys(filtersFromColumns).forEach(key => {\n newFilters[key] = filtersFromColumns[key];\n });\n if (this.isFiltersChanged(newFilters)) {\n this.setState({ sFilters: newFilters });\n }\n }\n },\n components(val, preVal) {\n this.createComponents(val, preVal);\n },\n },\n methods: {\n getCheckboxPropsByItem(item, index) {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return { props: {} };\n }\n const key = this.getRecordKey(item, index);\n // Cache checkboxProps\n if (!this.CheckboxPropsCache[key]) {\n this.CheckboxPropsCache[key] = rowSelection.getCheckboxProps(item);\n }\n this.CheckboxPropsCache[key].props = this.CheckboxPropsCache[key].props || {};\n return this.CheckboxPropsCache[key];\n },\n\n getDefaultSelection() {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return [];\n }\n return this.getFlatData()\n .filter(\n (item, rowIndex) => this.getCheckboxPropsByItem(item, rowIndex).props.defaultChecked,\n )\n .map((record, rowIndex) => this.getRecordKey(record, rowIndex));\n },\n\n getDefaultPagination(props) {\n const pagination = props.pagination || {};\n return this.hasPagination(props)\n ? {\n ...defaultPagination,\n ...pagination,\n current: pagination.defaultCurrent || pagination.current || 1,\n pageSize: pagination.defaultPageSize || pagination.pageSize || 10,\n }\n : {};\n },\n\n onRow(record, index) {\n const { prefixCls, customRow } = this;\n const custom = customRow ? customRow(record, index) : {};\n return mergeProps(custom, {\n props: {\n prefixCls,\n store: this.store,\n rowKey: this.getRecordKey(record, index),\n },\n });\n },\n\n setSelectedRowKeys(selectedRowKeys, selectionInfo) {\n const { selectWay, record, checked, changeRowKeys, nativeEvent } = selectionInfo;\n const rowSelection = getRowSelection(this.$props);\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\n this.store.setState({ selectedRowKeys });\n }\n const data = this.getFlatData();\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\n return;\n }\n const selectedRows = data.filter(\n (row, i) => selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n if (selectWay === 'onSelect' && rowSelection.onSelect) {\n rowSelection.onSelect(record, checked, selectedRows, nativeEvent);\n } else if (selectWay === 'onSelectMultiple' && rowSelection.onSelectMultiple) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectMultiple(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectAll' && rowSelection.onSelectAll) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectAll(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectInvert' && rowSelection.onSelectInvert) {\n rowSelection.onSelectInvert(selectedRowKeys);\n }\n },\n\n hasPagination() {\n return this.pagination !== false;\n },\n\n isFiltersChanged(filters) {\n let filtersChanged = false;\n if (Object.keys(filters).length !== Object.keys(this.sFilters).length) {\n filtersChanged = true;\n } else {\n Object.keys(filters).forEach(columnKey => {\n if (filters[columnKey] !== this.sFilters[columnKey]) {\n filtersChanged = true;\n }\n });\n }\n return filtersChanged;\n },\n\n getSortOrderColumns(columns) {\n return flatFilter(columns || this.columns || [], column => 'sortOrder' in column);\n },\n\n getFilteredValueColumns(columns) {\n return flatFilter(\n columns || this.columns || [],\n column => typeof column.filteredValue !== 'undefined',\n );\n },\n\n getFiltersFromColumns(columns) {\n const filters = {};\n this.getFilteredValueColumns(columns).forEach(col => {\n const colKey = this.getColumnKey(col);\n filters[colKey] = col.filteredValue;\n });\n return filters;\n },\n\n getDefaultSortOrder(columns) {\n const definedSortState = this.getSortStateFromColumns(columns);\n\n const defaultSortedColumn = flatFilter(\n columns || [],\n column => column.defaultSortOrder != null,\n )[0];\n\n if (defaultSortedColumn && !definedSortState.sortColumn) {\n return {\n sSortColumn: defaultSortedColumn,\n sSortOrder: defaultSortedColumn.defaultSortOrder,\n };\n }\n\n return definedSortState;\n },\n\n getSortStateFromColumns(columns) {\n // return first column which sortOrder is not falsy\n const sortedColumn = this.getSortOrderColumns(columns).filter(col => col.sortOrder)[0];\n\n if (sortedColumn) {\n return {\n sSortColumn: sortedColumn,\n sSortOrder: sortedColumn.sortOrder,\n };\n }\n\n return {\n sSortColumn: null,\n sSortOrder: null,\n };\n },\n\n getSorterFn(state) {\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = state || this.$data;\n if (!sortOrder || !sortColumn || typeof sortColumn.sorter !== 'function') {\n return;\n }\n\n return (a, b) => {\n const result = sortColumn.sorter(a, b, sortOrder);\n if (result !== 0) {\n return sortOrder === 'descend' ? -result : result;\n }\n return 0;\n };\n },\n isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return (\n a === b ||\n shallowEqual(a, b, (value, other) => {\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n })\n );\n },\n\n toggleSortOrder(column) {\n if (!column.sorter) {\n return;\n }\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = this;\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\n let newSortOrder;\n // 切换另一列时,丢弃 sortOrder 的状态\n const oldSortOrder = this.isSameColumn(sortColumn, column) ? sortOrder : undefined;\n // 切换排序状态,按照降序/升序/不排序的顺序\n if (!oldSortOrder) {\n newSortOrder = 'ascend';\n } else if (oldSortOrder === 'ascend') {\n newSortOrder = 'descend';\n } else {\n newSortOrder = undefined;\n }\n const newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null,\n };\n\n // Controlled\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState);\n }\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n ...newState,\n }),\n );\n },\n\n handleFilter(column, nextFilters) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n const filters = {\n ...this.sFilters,\n [this.getColumnKey(column)]: nextFilters,\n };\n // Remove filters not in current columns\n const currentColumnKeys = [];\n treeMap(this.columns, c => {\n if (!c.children) {\n currentColumnKeys.push(this.getColumnKey(c));\n }\n });\n Object.keys(filters).forEach(columnKey => {\n if (currentColumnKeys.indexOf(columnKey) < 0) {\n delete filters[columnKey];\n }\n });\n\n if (props.pagination) {\n // Reset current prop\n pagination.current = 1;\n pagination.onChange(pagination.current);\n }\n\n const newState = {\n sPagination: pagination,\n sFilters: {},\n };\n const filtersToSetState = { ...filters };\n // Remove filters which is controlled\n this.getFilteredValueColumns().forEach(col => {\n const columnKey = this.getColumnKey(col);\n if (columnKey) {\n delete filtersToSetState[columnKey];\n }\n });\n if (Object.keys(filtersToSetState).length > 0) {\n newState.sFilters = filtersToSetState;\n }\n\n // Controlled current prop will not respond user interaction\n if (typeof props.pagination === 'object' && 'current' in props.pagination) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n\n this.setState(newState, () => {\n this.store.setState({\n selectionDirty: false,\n });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sFilters: filters,\n sPagination: pagination,\n }),\n );\n });\n },\n\n handleSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const defaultSelection = this.store.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n let selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\n const key = this.getRecordKey(record, rowIndex);\n const { pivot } = this.$data;\n const rows = this.getFlatCurrentPageData(this.$props.childrenColumnName);\n let realIndex = rowIndex;\n if (this.$props.expandedRowRender) {\n realIndex = rows.findIndex(row => this.getRecordKey(row, rowIndex) === key);\n }\n if (nativeEvent.shiftKey && pivot !== undefined && realIndex !== pivot) {\n const changeRowKeys = [];\n const direction = Math.sign(pivot - realIndex);\n const dist = Math.abs(pivot - realIndex);\n let step = 0;\n while (step <= dist) {\n const i = realIndex + step * direction;\n step += 1;\n const row = rows[i];\n const rowKey = this.getRecordKey(row, i);\n const checkboxProps = this.getCheckboxPropsByItem(row, i);\n if (!checkboxProps.disabled) {\n if (selectedRowKeys.includes(rowKey)) {\n if (!checked) {\n selectedRowKeys = selectedRowKeys.filter(j => rowKey !== j);\n changeRowKeys.push(rowKey);\n }\n } else if (checked) {\n selectedRowKeys.push(rowKey);\n changeRowKeys.push(rowKey);\n }\n }\n }\n\n this.setState({ pivot: realIndex });\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelectMultiple',\n record,\n checked,\n changeRowKeys,\n nativeEvent,\n });\n } else {\n if (checked) {\n selectedRowKeys.push(this.getRecordKey(record, realIndex));\n } else {\n selectedRowKeys = selectedRowKeys.filter(i => key !== i);\n }\n this.setState({ pivot: realIndex });\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: void 0,\n nativeEvent,\n });\n }\n },\n\n handleRadioSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const key = this.getRecordKey(record, rowIndex);\n const selectedRowKeys = [key];\n this.store.setState({\n selectionDirty: true,\n });\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: void 0,\n nativeEvent,\n });\n },\n\n handleSelectRow(selectionKey, index, onSelectFunc) {\n const data = this.getFlatCurrentPageData(this.$props.childrenColumnName);\n const defaultSelection = this.store.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n const selectedRowKeys = this.store.getState().selectedRowKeys.concat(defaultSelection);\n const changeableRowKeys = data\n .filter((item, i) => !this.getCheckboxPropsByItem(item, i).props.disabled)\n .map((item, i) => this.getRecordKey(item, i));\n\n const changeRowKeys = [];\n let selectWay = 'onSelectAll';\n let checked;\n // handle default selection\n switch (selectionKey) {\n case 'all':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = true;\n break;\n case 'removeAll':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) >= 0) {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = false;\n break;\n case 'invert':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n } else {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n }\n changeRowKeys.push(key);\n selectWay = 'onSelectInvert';\n });\n break;\n default:\n break;\n }\n\n this.store.setState({\n selectionDirty: true,\n });\n // when select custom selection, callback selections[n].onSelect\n const { rowSelection } = this;\n let customSelectionStartIndex = 2;\n if (rowSelection && rowSelection.hideDefaultSelections) {\n customSelectionStartIndex = 0;\n }\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\n return onSelectFunc(changeableRowKeys);\n }\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay,\n checked,\n changeRowKeys,\n });\n },\n\n handlePageChange(current, ...otherArguments) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n if (current) {\n pagination.current = current;\n } else {\n pagination.current = pagination.current || 1;\n }\n pagination.onChange(pagination.current, ...otherArguments);\n\n const newState = {\n sPagination: pagination,\n };\n // Controlled current prop will not respond user interaction\n if (\n props.pagination &&\n typeof props.pagination === 'object' &&\n 'current' in props.pagination\n ) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n this.setState(newState);\n\n this.store.setState({\n selectionDirty: false,\n });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sPagination: pagination,\n }),\n );\n },\n\n renderSelectionBox(type) {\n return (_, record, index) => {\n const rowKey = this.getRecordKey(record, index); // 从 1 开始\n const props = this.getCheckboxPropsByItem(record, index);\n const handleChange = e => {\n type === 'radio'\n ? this.handleRadioSelect(record, index, e)\n : this.handleSelect(record, index, e);\n };\n const selectionBoxProps = mergeProps(\n {\n props: {\n type,\n store: this.store,\n rowIndex: rowKey,\n defaultSelection: this.getDefaultSelection(),\n },\n on: {\n change: handleChange,\n },\n },\n props,\n );\n\n return (\n <span onClick={stopPropagation}>\n <SelectionBox {...selectionBoxProps} />\n </span>\n );\n };\n },\n\n getRecordKey(record, index) {\n const { rowKey } = this;\n const recordKey = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(\n recordKey !== undefined,\n 'Each record in dataSource of table should have a unique `key` prop, or set `rowKey` of Table to an unique primary key,',\n );\n return recordKey === undefined ? index : recordKey;\n },\n\n getPopupContainer() {\n return this.$el;\n },\n\n renderRowSelection(locale) {\n const { prefixCls, rowSelection, childrenColumnName } = this;\n const columns = this.columns.concat();\n if (rowSelection) {\n const data = this.getFlatCurrentPageData(childrenColumnName).filter((item, index) => {\n if (rowSelection.getCheckboxProps) {\n return !this.getCheckboxPropsByItem(item, index).props.disabled;\n }\n return true;\n });\n const selectionColumnClass = classNames(`${prefixCls}-selection-column`, {\n [`${prefixCls}-selection-column-custom`]: rowSelection.selections,\n });\n const selectionColumn = {\n key: 'selection-column',\n customRender: this.renderSelectionBox(rowSelection.type),\n className: selectionColumnClass,\n fixed: rowSelection.fixed,\n width: rowSelection.columnWidth,\n title: rowSelection.columnTitle,\n };\n if (rowSelection.type !== 'radio') {\n const checkboxAllDisabled = data.every(\n (item, index) => this.getCheckboxPropsByItem(item, index).props.disabled,\n );\n selectionColumn.title = selectionColumn.title || (\n <SelectionCheckboxAll\n store={this.store}\n locale={locale}\n data={data}\n getCheckboxPropsByItem={this.getCheckboxPropsByItem}\n getRecordKey={this.getRecordKey}\n disabled={checkboxAllDisabled}\n prefixCls={prefixCls}\n onSelect={this.handleSelectRow}\n selections={rowSelection.selections}\n hideDefaultSelections={rowSelection.hideDefaultSelections}\n getPopupContainer={this.getPopupContainer}\n />\n );\n }\n if ('fixed' in rowSelection) {\n selectionColumn.fixed = rowSelection.fixed;\n } else if (columns.some(column => column.fixed === 'left' || column.fixed === true)) {\n selectionColumn.fixed = 'left';\n }\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n return columns;\n },\n\n getColumnKey(column, index) {\n return column.key || column.dataIndex || index;\n },\n\n getMaxCurrent(total) {\n const { current, pageSize } = this.sPagination;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n },\n\n isSortColumn(column) {\n const { sSortColumn: sortColumn } = this;\n if (!column || !sortColumn) {\n return false;\n }\n return this.getColumnKey(sortColumn) === this.getColumnKey(column);\n },\n\n renderColumnsDropdown(columns, locale) {\n const { prefixCls, dropdownPrefixCls } = this;\n const { sSortOrder: sortOrder, sFilters: filters } = this;\n return treeMap(columns, (column, i) => {\n const key = this.getColumnKey(column, i);\n let filterDropdown;\n let sortButton;\n let customHeaderCell = column.customHeaderCell;\n const sortTitle = this.getColumnTitle(column.title, {}) || locale.sortTitle;\n const isSortColumn = this.isSortColumn(column);\n if ((column.filters && column.filters.length > 0) || column.filterDropdown) {\n const colFilters = key in filters ? filters[key] : [];\n filterDropdown = (\n <FilterDropdown\n _propsSymbol={Symbol()}\n locale={locale}\n column={column}\n selectedKeys={colFilters}\n confirmFilter={this.handleFilter}\n prefixCls={`${prefixCls}-filter`}\n dropdownPrefixCls={dropdownPrefixCls || 'ant-dropdown'}\n getPopupContainer={this.getPopupContainer}\n key=\"filter-dropdown\"\n />\n );\n }\n if (column.sorter) {\n const isAscend = isSortColumn && sortOrder === 'ascend';\n const isDescend = isSortColumn && sortOrder === 'descend';\n sortButton = (\n <div class={`${prefixCls}-column-sorter`} key=\"sorter\">\n <Icon\n class={`${prefixCls}-column-sorter-up ${isAscend ? 'on' : 'off'}`}\n type=\"caret-up\"\n theme=\"filled\"\n />\n <Icon\n class={`${prefixCls}-column-sorter-down ${isDescend ? 'on' : 'off'}`}\n type=\"caret-down\"\n theme=\"filled\"\n />\n </div>\n );\n customHeaderCell = col => {\n let colProps = {};\n // Get original first\n if (column.customHeaderCell) {\n colProps = {\n ...column.customHeaderCell(col),\n };\n }\n colProps.on = colProps.on || {};\n // Add sorter logic\n const onHeaderCellClick = colProps.on.click;\n colProps.on.click = (...args) => {\n this.toggleSortOrder(column);\n if (onHeaderCellClick) {\n onHeaderCellClick(...args);\n }\n };\n return colProps;\n };\n }\n const sortTitleString = sortButton && typeof sortTitle === 'string' ? sortTitle : undefined;\n return {\n ...column,\n className: classNames(column.className, {\n [`${prefixCls}-column-has-actions`]: sortButton || filterDropdown,\n [`${prefixCls}-column-has-filters`]: filterDropdown,\n [`${prefixCls}-column-has-sorters`]: sortButton,\n [`${prefixCls}-column-sort`]: isSortColumn && sortOrder,\n }),\n title: [\n <div\n key=\"title\"\n title={sortTitleString}\n class={sortButton ? `${prefixCls}-column-sorters` : undefined}\n >\n {this.renderColumnTitle(column.title)}\n {sortButton}\n </div>,\n filterDropdown,\n ],\n customHeaderCell,\n };\n });\n },\n renderColumnTitle(title) {\n const { sFilters: filters, sSortOrder: sortOrder } = this.$data;\n // https://github.com/ant-design/ant-design/issues/11246#issuecomment-405009167\n if (title instanceof Function) {\n return title({\n filters,\n sortOrder,\n });\n }\n return title;\n },\n\n getColumnTitle(title, parentNode) {\n if (!title) {\n return;\n }\n if (isValidElement(title)) {\n const props = title.componentOptions;\n let children = null;\n if (props && props.children) {\n // for component\n children = filterEmpty(props.children);\n } else if (title.children) {\n // for dom\n children = filterEmpty(title.children);\n }\n if (children && children.length === 1) {\n children = children[0];\n const attrs = getAllProps(title);\n if (!children.tag && children.text) {\n // for textNode\n children = children.text;\n }\n return this.getColumnTitle(children, attrs);\n }\n } else {\n return parentNode.title || title;\n }\n },\n\n handleShowSizeChange(current, pageSize) {\n const pagination = this.sPagination;\n pagination.onShowSizeChange(current, pageSize);\n const nextPagination = {\n ...pagination,\n pageSize,\n current,\n };\n this.setState({ sPagination: nextPagination });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sPagination: nextPagination,\n }),\n );\n },\n\n renderPagination(paginationPosition) {\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\n let size = 'default';\n const { sPagination: pagination } = this;\n if (pagination.size) {\n size = pagination.size;\n } else if (this.size === 'middle' || this.size === 'small') {\n size = 'small';\n }\n const position = pagination.position || 'bottom';\n const total = pagination.total || this.getLocalData().length;\n const { class: cls, style, onChange, onShowSizeChange, ...restProps } = pagination; // eslint-disable-line\n const paginationProps = mergeProps({\n key: `pagination-${paginationPosition}`,\n class: classNames(cls, `${this.prefixCls}-pagination`),\n props: {\n ...restProps,\n total,\n size,\n current: this.getMaxCurrent(total),\n },\n style,\n on: {\n change: this.handlePageChange,\n showSizeChange: this.handleShowSizeChange,\n },\n });\n return total > 0 && (position === paginationPosition || position === 'both') ? (\n <Pagination {...paginationProps} />\n ) : null;\n },\n\n // Get pagination, filters, sorter\n prepareParamsArguments(state) {\n const pagination = { ...state.sPagination };\n // remove useless handle function in Table.onChange\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n const filters = state.sFilters;\n const sorter = {};\n if (state.sSortColumn && state.sSortOrder) {\n sorter.column = state.sSortColumn;\n sorter.order = state.sSortOrder;\n sorter.field = state.sSortColumn.dataIndex;\n sorter.columnKey = this.getColumnKey(state.sSortColumn);\n }\n const extra = {\n currentDataSource: this.getLocalData(state),\n };\n\n return [pagination, filters, sorter, extra];\n },\n\n findColumn(myKey) {\n let column;\n treeMap(this.columns, c => {\n if (this.getColumnKey(c) === myKey) {\n column = c;\n }\n });\n return column;\n },\n\n getCurrentPageData() {\n let data = this.getLocalData();\n let current;\n let pageSize;\n const sPagination = this.sPagination;\n // 如果没有分页的话,默认全部展示\n if (!this.hasPagination()) {\n pageSize = Number.MAX_VALUE;\n current = 1;\n } else {\n pageSize = sPagination.pageSize;\n current = this.getMaxCurrent(sPagination.total || data.length);\n }\n\n // 分页\n // ---\n // 当数据量少于等于每页数量时,直接设置数据\n // 否则进行读取分页数据\n if (data.length > pageSize || pageSize === Number.MAX_VALUE) {\n data = data.filter((_, i) => {\n return i >= (current - 1) * pageSize && i < current * pageSize;\n });\n }\n return data;\n },\n\n getFlatData() {\n return flatArray(this.getLocalData(null, false));\n },\n\n getFlatCurrentPageData(childrenColumnName) {\n return flatArray(this.getCurrentPageData(), childrenColumnName);\n },\n\n recursiveSort(data, sorterFn) {\n const { childrenColumnName = 'children' } = this;\n return data.sort(sorterFn).map(item =>\n item[childrenColumnName]\n ? {\n ...item,\n [childrenColumnName]: this.recursiveSort(item[childrenColumnName], sorterFn),\n }\n : item,\n );\n },\n\n getLocalData(state, filter = true) {\n const currentState = state || this.$data;\n const { sFilters: filters } = currentState;\n const { dataSource } = this.$props;\n let data = dataSource || [];\n // 优化本地排序\n data = data.slice(0);\n const sorterFn = this.getSorterFn(currentState);\n if (sorterFn) {\n data = this.recursiveSort(data, sorterFn);\n }\n // 筛选\n if (filter && filters) {\n Object.keys(filters).forEach(columnKey => {\n const col = this.findColumn(columnKey);\n if (!col) {\n return;\n }\n const values = filters[columnKey] || [];\n if (values.length === 0) {\n return;\n }\n const onFilter = col.onFilter;\n data = onFilter\n ? data.filter(record => {\n return values.some(v => onFilter(v, record));\n })\n : data;\n });\n }\n return data;\n },\n\n createComponents(components = {}, prevComponents) {\n const bodyRow = components && components.body && components.body.row;\n const preBodyRow = prevComponents && prevComponents.body && prevComponents.body.row;\n if (!this.row || bodyRow !== preBodyRow) {\n this.row = createBodyRow(bodyRow);\n }\n this.customComponents = {\n ...components,\n body: {\n ...components.body,\n row: this.row,\n },\n };\n },\n\n renderTable(contextLocale, loading) {\n const locale = { ...contextLocale, ...this.locale };\n const { prefixCls, showHeader, ...restProps } = getOptionProps(this);\n const data = this.getCurrentPageData();\n const expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false;\n\n const classString = classNames({\n [`${prefixCls}-${this.size}`]: true,\n [`${prefixCls}-bordered`]: this.bordered,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n });\n\n let columns = this.renderRowSelection(locale);\n columns = this.renderColumnsDropdown(columns, locale);\n columns = columns.map((column, i) => {\n const newColumn = { ...column };\n newColumn.key = this.getColumnKey(newColumn, i);\n return newColumn;\n });\n let expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n const vcTableProps = {\n key: 'table',\n props: {\n ...restProps,\n customRow: this.onRow,\n components: this.customComponents,\n prefixCls,\n data,\n columns,\n showHeader,\n expandIconColumnIndex,\n expandIconAsCell,\n emptyText: !(loading.props && loading.props.spinning) && locale.emptyText,\n },\n on: this.$listeners,\n class: classString,\n };\n return <VcTable {...vcTableProps} />;\n },\n },\n\n render() {\n const { prefixCls } = this;\n const data = this.getCurrentPageData();\n\n let loading = this.loading;\n if (typeof loading === 'boolean') {\n loading = {\n props: {\n spinning: loading,\n },\n };\n } else {\n loading = {\n props: { ...loading },\n };\n }\n\n const table = (\n <LocaleReceiver\n componentName=\"Table\"\n defaultLocale={defaultLocale.Table}\n children={locale => this.renderTable(locale, loading)}\n />\n );\n\n // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n const paginationPatchClass =\n this.hasPagination() && data && data.length !== 0\n ? `${prefixCls}-with-pagination`\n : `${prefixCls}-without-pagination`;\n const spinProps = {\n ...loading,\n class:\n loading.props && loading.props.spinning\n ? `${paginationPatchClass} ${prefixCls}-spin-holder`\n : '',\n };\n return (\n <div class={classNames(`${prefixCls}-wrapper`)}>\n <Spin {...spinProps}>\n {this.renderPagination('top')}\n {table}\n {this.renderPagination('bottom')}\n </Spin>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nimport { Store } from './createStore';\n\nconst BodyRowProps = {\n store: Store,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n prefixCls: PropTypes.string,\n};\n\nexport default function createTableRow(Component = 'tr') {\n const BodyRow = {\n name: 'BodyRow',\n props: BodyRowProps,\n data() {\n const { selectedRowKeys } = this.store.getState();\n\n return {\n selected: selectedRowKeys.indexOf(this.rowKey) >= 0,\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n subscribe() {\n const { store, rowKey } = this;\n this.unsubscribe = store.subscribe(() => {\n const { selectedRowKeys } = this.store.getState();\n const selected = selectedRowKeys.indexOf(rowKey) >= 0;\n if (selected !== this.selected) {\n this.selected = selected;\n }\n });\n },\n },\n\n render() {\n const className = {\n [`${this.prefixCls}-row-selected`]: this.selected,\n };\n\n return (\n <Component class={className} {...{ on: this.$listeners }}>\n {this.$slots.default}\n </Component>\n );\n },\n };\n\n return BodyRow;\n}\n","import PropTypes from '../_util/vue-types';\nexport const Store = PropTypes.shape({\n setState: PropTypes.func,\n getState: PropTypes.func,\n subscribe: PropTypes.func,\n}).loose;\n\nimport create from '../_util/store/create';\nconst createStore = create;\n\nexport default createStore;\n","import Menu, { SubMenu, Item as MenuItem } from '../vc-menu';\nimport closest from 'dom-closest';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Dropdown from '../dropdown';\nimport Icon from '../icon';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\nimport { FilterMenuProps } from './interface';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nexport default {\n name: 'FilterMenu',\n mixins: [BaseMixin],\n props: initDefaultProps(FilterMenuProps, {\n handleFilter() {},\n column: {},\n }),\n\n data() {\n const visible =\n 'filterDropdownVisible' in this.column ? this.column.filterDropdownVisible : false;\n this.preProps = { ...getOptionProps(this) };\n return {\n sSelectedKeys: this.selectedKeys,\n sKeyPathOfSelectedItem: {}, // 记录所有有选中子菜单的祖先菜单\n sVisible: visible,\n };\n },\n watch: {\n _propsSymbol() {\n const nextProps = getOptionProps(this);\n const { column } = nextProps;\n this.setNeverShown(column);\n const newState = {};\n\n /**\n * if the state is visible the component should ignore updates on selectedKeys prop to avoid\n * that the user selection is lost\n * this happens frequently when a table is connected on some sort of realtime data\n * Fixes https://github.com/ant-design/ant-design/issues/10289 and\n * https://github.com/ant-design/ant-design/issues/10209\n */\n if (\n 'selectedKeys' in nextProps &&\n !shallowequal(this.preProps.selectedKeys, nextProps.selectedKeys)\n ) {\n newState.sSelectedKeys = nextProps.selectedKeys;\n }\n if ('filterDropdownVisible' in column) {\n newState.sVisible = column.filterDropdownVisible;\n }\n if (Object.keys(newState).length > 0) {\n this.setState(newState);\n }\n this.preProps = { ...nextProps };\n },\n // 'column.fixed': function (val) {\n // this.setNeverShown(this.column)\n // },\n // column (val) {\n // if ('filterDropdownVisible' in val) {\n // this.sVisible = val.filterDropdownVisible\n // }\n // },\n // selectedKeys (val) {\n // this.sSelectedKeys = val\n // },\n },\n\n mounted() {\n const { column } = this;\n this.$nextTick(() => {\n this.setNeverShown(column);\n });\n },\n methods: {\n getDropdownVisible() {\n return this.neverShown ? false : this.sVisible;\n },\n setNeverShown(column) {\n const rootNode = this.$el;\n const filterBelongToScrollBody = !!closest(rootNode, `.ant-table-scroll`);\n if (filterBelongToScrollBody) {\n // When fixed column have filters, there will be two dropdown menus\n // Filter dropdown menu inside scroll body should never be shown\n // To fix https://github.com/ant-design/ant-design/issues/5010 and\n // https://github.com/ant-design/ant-design/issues/7909\n this.neverShown = !!column.fixed;\n }\n },\n\n setSelectedKeys({ selectedKeys }) {\n this.setState({ sSelectedKeys: selectedKeys });\n },\n\n setVisible(visible) {\n const { column } = this;\n if (!('filterDropdownVisible' in column)) {\n this.setState({ sVisible: visible });\n }\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n },\n\n handleClearFilters() {\n this.setState(\n {\n sSelectedKeys: [],\n },\n this.handleConfirm,\n );\n },\n\n handleConfirm() {\n this.setVisible(false);\n this.confirmFilter2();\n // Call `setSelectedKeys` & `confirm` in the same time will make filter data not up to date\n // https://github.com/ant-design/ant-design/issues/12284\n this.$forceUpdate();\n this.$nextTick(() => {\n this.confirmFilter;\n });\n },\n\n onVisibleChange(visible) {\n this.setVisible(visible);\n if (!visible) {\n this.confirmFilter2();\n }\n },\n\n confirmFilter2() {\n if (!shallowequal(this.sSelectedKeys, this.selectedKeys)) {\n this.confirmFilter(this.column, this.sSelectedKeys);\n }\n },\n\n renderMenuItem(item) {\n const { column } = this;\n const { sSelectedKeys: selectedKeys } = this.$data;\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n const input = multiple ? (\n <Checkbox checked={selectedKeys && selectedKeys.indexOf(item.value.toString()) >= 0} />\n ) : (\n <Radio checked={selectedKeys && selectedKeys.indexOf(item.value.toString()) >= 0} />\n );\n\n return (\n <MenuItem key={item.value}>\n {input}\n <span>{item.text}</span>\n </MenuItem>\n );\n },\n\n hasSubMenu() {\n const {\n column: { filters = [] },\n } = this;\n return filters.some(item => !!(item.children && item.children.length > 0));\n },\n\n renderMenus(items) {\n return items.map(item => {\n if (item.children && item.children.length > 0) {\n const { sKeyPathOfSelectedItem } = this;\n const containSelected = Object.keys(sKeyPathOfSelectedItem).some(\n key => sKeyPathOfSelectedItem[key].indexOf(item.value) >= 0,\n );\n const subMenuCls = containSelected\n ? `${this.dropdownPrefixCls}-submenu-contain-selected`\n : '';\n return (\n <SubMenu title={item.text} class={subMenuCls} key={item.value.toString()}>\n {this.renderMenus(item.children)}\n </SubMenu>\n );\n }\n return this.renderMenuItem(item);\n });\n },\n\n handleMenuItemClick(info) {\n const { sSelectedKeys: selectedKeys } = this.$data;\n if (!info.keyPath || info.keyPath.length <= 1) {\n return;\n }\n const keyPathOfSelectedItem = this.sKeyPathOfSelectedItem;\n if (selectedKeys && selectedKeys.indexOf(info.key) >= 0) {\n // deselect SubMenu child\n delete keyPathOfSelectedItem[info.key];\n } else {\n // select SubMenu child\n keyPathOfSelectedItem[info.key] = info.keyPath;\n }\n this.setState({ keyPathOfSelectedItem });\n },\n\n renderFilterIcon() {\n const { column, locale, prefixCls, selectedKeys } = this;\n const filtered = selectedKeys && selectedKeys.length > 0;\n let filterIcon = column.filterIcon;\n if (typeof filterIcon === 'function') {\n filterIcon = filterIcon(filtered, column);\n }\n const dropdownIconClass = classNames({\n [`${prefixCls}-selected`]: filtered,\n [`${prefixCls}-open`]: this.getDropdownVisible(),\n });\n\n return filterIcon ? (\n cloneElement(filterIcon, {\n attrs: {\n title: locale.filterTitle,\n },\n on: {\n click: stopPropagation,\n },\n class: classNames(`${prefixCls}-icon`, dropdownIconClass),\n })\n ) : (\n <Icon\n title={locale.filterTitle}\n type=\"filter\"\n theme=\"filled\"\n class={dropdownIconClass}\n onClick={stopPropagation}\n />\n );\n },\n },\n\n render() {\n const { column, locale, prefixCls, dropdownPrefixCls, getPopupContainer } = this;\n // default multiple selection in filter dropdown\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !this.hasSubMenu(),\n });\n let { filterDropdown } = column;\n if (filterDropdown instanceof Function) {\n filterDropdown = filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => this.setSelectedKeys({ selectedKeys }),\n selectedKeys: this.sSelectedKeys,\n confirm: this.handleConfirm,\n clearFilters: this.handleClearFilters,\n filters: column.filters,\n getPopupContainer: triggerNode => triggerNode.parentNode,\n column,\n });\n }\n\n const menus = filterDropdown ? (\n <FilterDropdownMenuWrapper>{filterDropdown}</FilterDropdownMenuWrapper>\n ) : (\n <FilterDropdownMenuWrapper class={`${prefixCls}-dropdown`}>\n <Menu\n multiple={multiple}\n onClick={this.handleMenuItemClick}\n prefixCls={`${dropdownPrefixCls}-menu`}\n class={dropdownMenuClass}\n onSelect={this.setSelectedKeys}\n onDeselect={this.setSelectedKeys}\n selectedKeys={this.sSelectedKeys}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n >\n {this.renderMenus(column.filters)}\n </Menu>\n <div class={`${prefixCls}-dropdown-btns`}>\n <a class={`${prefixCls}-dropdown-link confirm`} onClick={this.handleConfirm}>\n {locale.filterConfirm}\n </a>\n <a class={`${prefixCls}-dropdown-link clear`} onClick={this.handleClearFilters}>\n {locale.filterReset}\n </a>\n </div>\n </FilterDropdownMenuWrapper>\n );\n\n return (\n <Dropdown\n trigger={['click']}\n placement=\"bottomRight\"\n visible={this.getDropdownVisible()}\n onVisibleChange={this.onVisibleChange}\n getPopupContainer={getPopupContainer}\n forceRender\n >\n <template slot=\"overlay\">{menus}</template>\n {this.renderFilterIcon()}\n </Dropdown>\n );\n },\n};\n","import T from './Table';\n\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n} from '../_util/props-util';\n\nconst Table = {\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n props: T.props,\n methods: {\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, ...restSlots } = getSlots(element);\n const column = { ...restSlots, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).__ANT_TABLE_COLUMN_GROUP) {\n column.children = this.normalize(children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n updateColumns(cols = []) {\n const columns = [];\n const { $slots, $scopedSlots } = this;\n cols.forEach(col => {\n const { slots = {}, scopedSlots = {}, ...restProps } = col;\n const column = {\n ...restProps,\n };\n Object.keys(slots).forEach(key => {\n const name = slots[key];\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name].length === 1 ? $slots[name][0] : $slots[name];\n }\n });\n Object.keys(scopedSlots).forEach(key => {\n const name = scopedSlots[key];\n if (column[key] === undefined && $scopedSlots[name]) {\n column[key] = $scopedSlots[name];\n }\n });\n // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n if (col.children) {\n column.children = this.updateColumns(column.children);\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $listeners, $slots, normalize, $scopedSlots } = this;\n const props = getOptionProps(this);\n const columns = props.columns ? this.updateColumns(props.columns) : normalize($slots.default);\n let { title, footer } = props;\n const {\n title: slotTitle,\n footer: slotFooter,\n expandedRowRender = props.expandedRowRender,\n } = $scopedSlots;\n title = title || slotTitle;\n footer = footer || slotFooter;\n const tProps = {\n props: {\n ...props,\n columns,\n title,\n footer,\n expandedRowRender,\n },\n on: $listeners,\n };\n return <T {...tProps} />;\n },\n};\n/* istanbul ignore next */\nTable.install = function(Vue) {\n Vue.component(Table.name, Table);\n Vue.component(Table.Column.name, Table.Column);\n Vue.component(Table.ColumnGroup.name, Table.ColumnGroup);\n};\n\nexport default Table;\n","import PropTypes from '../_util/vue-types';\nimport { PaginationProps as getPaginationProps } from '../pagination';\nimport { SpinProps as getSpinProps } from '../spin';\nimport { Store } from './createStore';\n\nconst PaginationProps = getPaginationProps();\nconst SpinProps = getSpinProps();\n\n// export type CompareFn<T> = ((a: T, b: T) => number);\nexport const ColumnFilterItem = PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.string,\n children: PropTypes.array,\n}).loose;\n\nexport const ColumnProps = {\n title: PropTypes.any,\n // key?: React.Key;\n dataIndex: PropTypes.string,\n customRender: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n align: PropTypes.oneOf(['left', 'right', 'center']),\n filters: PropTypes.arrayOf(ColumnFilterItem),\n // onFilter: (value: any, record: T) => PropTypes.bool,\n filterMultiple: PropTypes.bool,\n filterDropdown: PropTypes.any,\n filterDropdownVisible: PropTypes.bool,\n // onFilterDropdownVisibleChange?: (visible: boolean) => void;\n sorter: PropTypes.oneOfType([PropTypes.boolean, PropTypes.func]),\n defaultSortOrder: PropTypes.oneOf(['ascend', 'descend']),\n colSpan: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n className: PropTypes.string,\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n filterIcon: PropTypes.any,\n filteredValue: PropTypes.array,\n sortOrder: PropTypes.oneOf(['ascend', 'descend']),\n // children?: ColumnProps<T>[];\n // onCellClick?: (record: T, event: any) => void;\n // onCell?: (record: T) => any;\n // onHeaderCell?: (props: ColumnProps<T>) => any;\n};\n\n// export interface TableComponents {\n// table?: any;\n// header?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// body?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// }\n\nexport const TableLocale = PropTypes.shape({\n filterTitle: PropTypes.string,\n filterConfirm: PropTypes.any,\n filterReset: PropTypes.any,\n emptyText: PropTypes.any,\n selectAll: PropTypes.any,\n selectInvert: PropTypes.any,\n sortTitle: PropTypes.string,\n}).loose;\n\nexport const RowSelectionType = PropTypes.oneOf(['checkbox', 'radio']);\n// export type SelectionSelectFn<T> = (record: T, selected: boolean, selectedRows: Object[]) => any;\n\nexport const TableRowSelection = {\n type: RowSelectionType,\n selectedRowKeys: PropTypes.array,\n // onChange?: (selectedRowKeys: string[] | number[], selectedRows: Object[]) => any;\n getCheckboxProps: PropTypes.func,\n // onSelect?: SelectionSelectFn<T>;\n // onSelectAll?: (selected: boolean, selectedRows: Object[], changeRows: Object[]) => any;\n // onSelectInvert?: (selectedRows: Object[]) => any;\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n hideDefaultSelections: PropTypes.bool,\n fixed: PropTypes.bool,\n columnWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectWay: PropTypes.oneOf(['onSelect', 'onSelectMultiple', 'onSelectAll', 'onSelectInvert']),\n columnTitle: PropTypes.any,\n};\n\nexport const TableProps = {\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n rowSelection: PropTypes.oneOfType([PropTypes.shape(TableRowSelection).loose, null]),\n pagination: PropTypes.oneOfType([\n PropTypes.shape({\n ...PaginationProps,\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n }).loose,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'middle', 'small', 'large']),\n dataSource: PropTypes.array,\n components: PropTypes.object,\n columns: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.func,\n expandedRowRender: PropTypes.any,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandedRowKeys: PropTypes.array,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // onExpandedRowsChange?: (expandedRowKeys: string[] | number[]) => void;\n // onExpand?: (expanded: boolean, record: T) => void;\n // onChange?: (pagination: PaginationProps | boolean, filters: string[], sorter: Object) => any;\n loading: PropTypes.oneOfType([PropTypes.shape(SpinProps).loose, PropTypes.bool]),\n locale: PropTypes.object,\n indentSize: PropTypes.number,\n // onRowClick?: (record: T, index: number, event: Event) => any;\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n useFixedHeader: PropTypes.bool,\n bordered: PropTypes.bool,\n showHeader: PropTypes.bool,\n footer: PropTypes.func,\n title: PropTypes.func,\n scroll: PropTypes.object,\n childrenColumnName: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n bodyStyle: PropTypes.any,\n // className?: PropTypes.string,\n // style?: React.CSSProperties;\n // children?: React.ReactNode;\n};\n\n// export interface TableStateFilters {\n// [key: string]: string[];\n// }\n\n// export interface TableState<T> {\n// pagination: PaginationProps;\n// filters: TableStateFilters;\n// sortColumn: ColumnProps<T> | null;\n// sortOrder: PropTypes.string,\n// }\n\n// export type SelectionItemSelectFn = (key: string[]) => any;\n\n// export interface SelectionItem {\n// key: PropTypes.string,\n// text: PropTypes.any,\n// onSelect: SelectionItemSelectFn;\n// }\n\nexport const SelectionCheckboxAllProps = {\n store: Store,\n locale: PropTypes.any,\n disabled: PropTypes.bool,\n getCheckboxPropsByItem: PropTypes.func,\n getRecordKey: PropTypes.func,\n data: PropTypes.array,\n prefixCls: PropTypes.string,\n // onSelect: (key: string, index: number, selectFunc: any) => void;\n hideDefaultSelections: PropTypes.bool,\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n getPopupContainer: PropTypes.func,\n};\n\n// export interface SelectionCheckboxAllState {\n// checked: PropTypes.bool,\n// indeterminate: PropTypes.bool,\n// }\n\nexport const SelectionBoxProps = {\n store: Store,\n type: RowSelectionType,\n defaultSelection: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n rowIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n disabled: PropTypes.bool,\n id: PropTypes.string,\n // onChange: React.ChangeEventHandler<HTMLInputElement>;\n};\n\n// export interface SelectionBoxState {\n// checked?: PropTypes.bool,\n// }\n\nexport const FilterMenuProps = {\n _propsSymbol: PropTypes.any,\n locale: TableLocale,\n selectedKeys: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n column: PropTypes.object,\n confirmFilter: PropTypes.func,\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n handleFilter: PropTypes.func,\n};\n\n// export interface FilterMenuState {\n// selectedKeys: string[];\n// keyPathOfSelectedItem: { [key: string]: string };\n// visible?: PropTypes.bool,\n// }\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../radio/style';\nimport '../../checkbox/style';\nimport '../../dropdown/style';\nimport '../../spin/style';\nimport '../../pagination/style';\n","// extracted by mini-css-extract-plugin","export function flatArray(data = [], childrenName = 'children') {\n const result = [];\n const loop = array => {\n array.forEach(item => {\n if (item[childrenName]) {\n const newItem = { ...item };\n delete newItem[childrenName];\n result.push(newItem);\n if (item[childrenName].length > 0) {\n loop(item[childrenName]);\n }\n } else {\n result.push(item);\n }\n });\n };\n loop(data);\n return result;\n}\n\nexport function treeMap(tree, mapper, childrenName = 'children') {\n return tree.map((node, index) => {\n const extra = {};\n if (node[childrenName]) {\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\n }\n return {\n ...mapper(node, index),\n ...extra,\n };\n });\n}\n\nexport function flatFilter(tree, callback) {\n return tree.reduce((acc, node) => {\n if (callback(node)) {\n acc.push(node);\n }\n if (node.children) {\n const children = flatFilter(node.children, callback);\n acc.push(...children);\n }\n return acc;\n }, []);\n}\n\n// export function normalizeColumns (elements) {\n// const columns = []\n// React.Children.forEach(elements, (element) => {\n// if (!React.isValidElement(element)) {\n// return\n// }\n// const column = {\n// ...element.props,\n// }\n// if (element.key) {\n// column.key = element.key\n// }\n// if (element.type && element.type.__ANT_TABLE_COLUMN_GROUP) {\n// column.children = normalizeColumns(column.children)\n// }\n// columns.push(column)\n// })\n// return columns\n// }\n","import Icon from '../icon';\nimport ScrollableInkTabBar from '../vc-tabs/src/ScrollableInkTabBar';\nimport { cloneElement } from '../_util/vnode';\nconst TabBar = {\n functional: true,\n render(h, context) {\n const {\n tabBarStyle,\n animated = true,\n renderTabBar,\n tabBarExtraContent,\n tabPosition,\n prefixCls,\n type = 'line',\n size,\n } = context.props;\n const inkBarAnimated = typeof animated === 'object' ? animated.inkBar : animated;\n\n const isVertical = tabPosition === 'left' || tabPosition === 'right';\n const prevIconType = isVertical ? 'up' : 'left';\n const nextIconType = isVertical ? 'down' : 'right';\n const prevIcon = (\n <span class={`${prefixCls}-tab-prev-icon`}>\n <Icon type={prevIconType} class={`${prefixCls}-tab-prev-icon-target`} />\n </span>\n );\n const nextIcon = (\n <span class={`${prefixCls}-tab-next-icon`}>\n <Icon type={nextIconType} class={`${prefixCls}-tab-next-icon-target`} />\n </span>\n );\n\n // Additional className for style usage\n const cls = {\n [`${prefixCls}-${tabPosition}-bar`]: true,\n [`${prefixCls}-${size}-bar`]: !!size,\n [`${prefixCls}-card-bar`]: type && type.indexOf('card') >= 0,\n };\n\n const renderProps = {\n props: {\n ...context.props,\n inkBarAnimated,\n extraContent: tabBarExtraContent,\n prevIcon,\n nextIcon,\n },\n style: tabBarStyle,\n on: context.listeners,\n class: cls,\n };\n\n let RenderTabBar;\n\n if (renderTabBar) {\n RenderTabBar = renderTabBar(renderProps, ScrollableInkTabBar);\n } else {\n RenderTabBar = <ScrollableInkTabBar {...renderProps} />;\n }\n\n return cloneElement(RenderTabBar, renderProps);\n },\n};\n\nexport default TabBar;\n","import ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './tabs';\nimport TabPane from '../vc-tabs/src/TabPane';\nimport TabContent from '../vc-tabs/src/TabContent';\nTabs.TabPane = { ...TabPane, name: 'ATabPane', __ANT_TAB_PANE: true };\nTabs.TabContent = { ...TabContent, name: 'ATabContent' };\nVue.use(ref, { name: 'ant-ref' });\n\n/* istanbul ignore next */\nTabs.install = function(Vue) {\n Vue.component(Tabs.name, Tabs);\n Vue.component(Tabs.TabPane.name, Tabs.TabPane);\n Vue.component(Tabs.TabContent.name, Tabs.TabContent);\n};\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import Icon from '../icon';\nimport VcTabs, { TabPane } from '../vc-tabs/src';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport isFlexSupported from '../_util/isFlexSupported';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getOptionProps, filterEmpty } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport TabBar from './TabBar';\n\nexport default {\n TabPane,\n name: 'ATabs',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string.def('ant-tabs'),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideAdd: PropTypes.bool.def(false),\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func]),\n destroyInactiveTabPane: PropTypes.bool.def(false),\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tabBarGutter: PropTypes.number,\n renderTabBar: PropTypes.func,\n },\n mounted() {\n const NO_FLEX = ' no-flex';\n const tabNode = this.$el;\n if (tabNode && !isFlexSupported() && tabNode.className.indexOf(NO_FLEX) === -1) {\n tabNode.className += NO_FLEX;\n }\n },\n methods: {\n removeTab(targetKey, e) {\n e.stopPropagation();\n if (!targetKey) {\n return;\n }\n this.$emit('edit', targetKey, 'remove');\n },\n handleChange(activeKey) {\n this.$emit('change', activeKey);\n },\n createNewTab(targetKey) {\n this.$emit('edit', targetKey, 'add');\n },\n onTabClick(val) {\n this.$emit('tabClick', val);\n },\n onPrevClick(val) {\n this.$emit('prevClick', val);\n },\n onNextClick(val) {\n this.$emit('nextClick', val);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n size,\n type = 'line',\n tabPosition,\n animated = true,\n hideAdd,\n renderTabBar,\n } = props;\n const children = filterEmpty(this.$slots.default);\n\n let tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n let tabPaneAnimated = typeof animated === 'object' ? animated.tabPane : animated;\n\n // card tabs should not have animation\n if (type !== 'line') {\n tabPaneAnimated = 'animated' in props ? tabPaneAnimated : false;\n }\n const cls = {\n [`${prefixCls}-vertical`]: tabPosition === 'left' || tabPosition === 'right',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-card`]: type.indexOf('card') >= 0,\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-no-animation`]: !tabPaneAnimated,\n };\n // only card type tabs can be added and closed\n let childrenWithClose = [];\n if (type === 'editable-card') {\n childrenWithClose = [];\n children.forEach((child, index) => {\n const props = getOptionProps(child);\n let closable = props.closable;\n closable = typeof closable === 'undefined' ? true : closable;\n const closeIcon = closable ? (\n <Icon\n type=\"close\"\n class={`${prefixCls}-close-x`}\n onClick={e => this.removeTab(child.key, e)}\n />\n ) : null;\n childrenWithClose.push(\n cloneElement(child, {\n props: {\n tab: (\n <div class={closable ? undefined : `${prefixCls}-tab-unclosable`}>\n {getComponentFromProp(child, 'tab')}\n {closeIcon}\n </div>\n ),\n },\n key: child.key || index,\n }),\n );\n });\n // Add new tab handler\n if (!hideAdd) {\n tabBarExtraContent = (\n <span>\n <Icon type=\"plus\" class={`${prefixCls}-new-tab`} onClick={this.createNewTab} />\n {tabBarExtraContent}\n </span>\n );\n }\n }\n\n tabBarExtraContent = tabBarExtraContent ? (\n <div class={`${prefixCls}-extra-content`}>{tabBarExtraContent}</div>\n ) : null;\n\n const renderTabBarSlot = renderTabBar || this.$scopedSlots.renderTabBar;\n const tabBarProps = {\n props: {\n ...this.$props,\n tabBarExtraContent,\n renderTabBar: renderTabBarSlot,\n },\n on: this.$listeners,\n };\n const contentCls = {\n [`${prefixCls}-${tabPosition}-content`]: true,\n [`${prefixCls}-card-content`]: type.indexOf('card') >= 0,\n };\n const tabsProps = {\n props: {\n ...getOptionProps(this),\n tabBarPosition: tabPosition,\n renderTabBar: () => <TabBar {...tabBarProps} />,\n renderTabContent: () => (\n <TabContent class={contentCls} animated={tabPaneAnimated} animatedWithMargin />\n ),\n children: childrenWithClose.length > 0 ? childrenWithClose : children,\n __propsSymbol__: Symbol(),\n },\n on: {\n ...this.$listeners,\n change: this.handleChange,\n },\n class: cls,\n };\n return <VcTabs {...tabsProps} />;\n },\n};\n","export default {\n name: 'ACheckableTag',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: {\n default: 'ant-tag',\n type: String,\n },\n checked: Boolean,\n },\n computed: {\n classes() {\n const { prefixCls, checked } = this;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-checkable`]: true,\n [`${prefixCls}-checkable-checked`]: checked,\n };\n },\n },\n methods: {\n handleClick() {\n const { checked } = this;\n this.$emit('input', !checked);\n this.$emit('change', !checked);\n },\n },\n render() {\n const { classes, handleClick, $slots } = this;\n return (\n <div class={classes} onClick={handleClick}>\n {$slots.default}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport omit from 'omit.js';\nimport Wave from '../_util/wave';\nimport { hasProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n name: 'ATag',\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'close.visible',\n },\n props: {\n prefixCls: PropTypes.string.def('ant-tag'),\n color: PropTypes.string,\n closable: PropTypes.bool.def(false),\n visible: PropTypes.bool,\n afterClose: PropTypes.func,\n },\n data() {\n let _visible = true;\n if (hasProp(this, 'visible')) {\n _visible = this.visible;\n }\n return {\n _visible,\n };\n },\n watch: {\n visible(val) {\n this.setState({\n _visible: val,\n });\n },\n },\n methods: {\n setVisible(visible, e) {\n this.$emit('close', e);\n this.$emit('close.visible', false);\n if (e.defaultPrevented) {\n return;\n }\n if (!hasProp(this, 'visible')) {\n this.setState({ _visible: visible });\n }\n },\n\n handleIconClick(e) {\n this.setVisible(false, e);\n },\n\n animationEnd() {\n const afterClose = this.afterClose;\n if (afterClose) {\n afterClose();\n }\n },\n\n isPresetColor(color) {\n if (!color) {\n return false;\n }\n return /^(pink|red|yellow|orange|cyan|green|blue|purple|geekblue|magenta|volcano|gold|lime)(-inverse)?$/.test(\n color,\n );\n },\n getTagStyle() {\n const { color } = this.$props;\n const isPresetColor = this.isPresetColor(color);\n return {\n backgroundColor: color && !isPresetColor ? color : undefined,\n };\n },\n\n getTagClassName() {\n const { prefixCls, color } = this.$props;\n const isPresetColor = this.isPresetColor(color);\n return {\n [prefixCls]: true,\n [`${prefixCls}-${color}`]: isPresetColor,\n [`${prefixCls}-has-color`]: color && !isPresetColor,\n };\n },\n\n renderCloseIcon() {\n const { closable } = this.$props;\n return closable ? <Icon type=\"close\" onClick={this.handleIconClick} /> : null;\n },\n },\n\n render() {\n const { prefixCls } = this.$props;\n const { _visible: visible } = this.$data;\n const tag = (\n <div\n v-show={visible}\n {...{ on: omit(this.$listeners, ['close']) }}\n class={this.getTagClassName()}\n style={this.getTagStyle()}\n >\n {this.$slots.default}\n {this.renderCloseIcon()}\n </div>\n );\n const transitionProps = getTransitionProps(`${prefixCls}-zoom`, {\n appear: false,\n afterLeave: this.animationEnd,\n });\n return (\n <Wave>\n <transition {...transitionProps}>{tag}</transition>\n </Wave>\n );\n },\n};\n","import Tag from './Tag';\nimport CheckableTag from './CheckableTag';\n\nTag.CheckableTag = CheckableTag;\n\n/* istanbul ignore next */\nTag.install = function(Vue) {\n Vue.component(Tag.name, Tag);\n Vue.component(Tag.CheckableTag.name, Tag.CheckableTag);\n};\n\nexport default Tag;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import * as moment from 'moment';\nimport VcTimePicker from '../vc-time-picker';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from './locale/en_US';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport interopDefault from '../_util/interopDefault';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n isValidElement,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport function generateShowHourMinuteSecond(format) {\n // Ref: http://momentjs.com/docs/#/parsing/string-format/\n return {\n showHour: format.indexOf('H') > -1 || format.indexOf('h') > -1 || format.indexOf('k') > -1,\n showMinute: format.indexOf('m') > -1,\n showSecond: format.indexOf('s') > -1,\n };\n}\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nexport const TimePickerProps = () => ({\n size: PropTypes.oneOf(['large', 'default', 'small']),\n value: MomentType,\n defaultValue: MomentType,\n open: PropTypes.bool,\n format: PropTypes.string,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n prefixCls: PropTypes.string,\n hideDisabledOptions: PropTypes.bool,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n getPopupContainer: PropTypes.func,\n use12Hours: PropTypes.bool,\n focusOnOpen: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n allowEmpty: PropTypes.bool,\n inputReadOnly: PropTypes.bool,\n clearText: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n popupClassName: PropTypes.string,\n suffixIcon: PropTypes.any,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n autoFocus: PropTypes.bool,\n addon: PropTypes.any,\n});\n\nconst TimePicker = {\n name: 'ATimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(TimePickerProps(), {\n prefixCls: 'ant-time-picker',\n align: {\n offset: [0, -2],\n },\n disabled: false,\n disabledHours: undefined,\n disabledMinutes: undefined,\n disabledSeconds: undefined,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n transitionName: 'slide-up',\n focusOnOpen: true,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error('The value/defaultValue of TimePicker must be a moment object, ');\n }\n return {\n sValue: value,\n };\n },\n watch: {\n value(val) {\n this.setState({ sValue: val });\n },\n },\n methods: {\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n const { format = 'HH:mm:ss' } = this;\n this.$emit('change', value, (value && value.format(format)) || '');\n },\n\n handleOpenClose({ open }) {\n this.$emit('openChange', open);\n this.$emit('update:open', open);\n },\n\n focus() {\n this.$refs.timePicker.focus();\n },\n\n blur() {\n this.$refs.timePicker.blur();\n },\n\n getDefaultFormat() {\n const { format, use12Hours } = this;\n if (format) {\n return format;\n } else if (use12Hours) {\n return 'h:mm:ss a';\n }\n return 'HH:mm:ss';\n },\n\n renderTimePicker(locale) {\n const props = getOptionProps(this);\n delete props.defaultValue;\n\n const format = this.getDefaultFormat();\n const className = {\n [`${props.prefixCls}-${props.size}`]: !!props.size,\n };\n const tempAddon = getComponentFromProp(this, 'addon', {}, false);\n const addon = panel => {\n return tempAddon ? (\n <div class={`${props.prefixCls}-panel-addon`}>\n {typeof tempAddon === 'function' ? tempAddon(panel) : tempAddon}\n </div>\n ) : null;\n };\n const { prefixCls, getPopupContainer } = props;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const clockIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-clock-icon`,\n })\n ) : (\n <span class={`${prefixCls}-clock-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"clock-circle\" class={`${prefixCls}-clock-icon`} theme=\"outlined\" />;\n\n const inputIcon = <span class={`${prefixCls}-icon`}>{clockIcon}</span>;\n\n const clearIcon = (\n <Icon type=\"close-circle\" class={`${prefixCls}-panel-clear-btn-icon`} theme=\"filled\" />\n );\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const timeProps = {\n props: {\n ...generateShowHourMinuteSecond(format),\n ...props,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n format,\n value: this.sValue,\n placeholder: props.placeholder === undefined ? locale.placeholder : props.placeholder,\n addon,\n inputIcon,\n clearIcon,\n },\n class: className,\n ref: 'timePicker',\n on: {\n ...this.$listeners,\n change: this.handleChange,\n open: this.handleOpenClose,\n close: this.handleOpenClose,\n },\n };\n return <VcTimePicker {...timeProps} />;\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"TimePicker\"\n defaultLocale={defaultLocale}\n scopedSlots={{ default: this.renderTimePicker }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTimePicker.install = function(Vue) {\n Vue.component(TimePicker.name, TimePicker);\n};\n\nexport default TimePicker;\n","const locale = {\n placeholder: 'Select time',\n};\n\nexport default locale;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n getOptionProps,\n initDefaultProps,\n filterEmpty,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport TimelineItem from './TimelineItem';\nimport Icon from '../icon';\n\nexport const TimelineProps = {\n prefixCls: PropTypes.string,\n /** 指定最后一个幽灵节点是否存在或内容 */\n pending: PropTypes.any,\n pendingDot: PropTypes.string,\n reverse: PropTypes.bool,\n mode: PropTypes.oneOf(['left', 'alternate', 'right']),\n};\n\nexport default {\n name: 'ATimeline',\n props: initDefaultProps(TimelineProps, {\n prefixCls: 'ant-timeline',\n reverse: false,\n }),\n render() {\n const { prefixCls, reverse, mode, ...restProps } = getOptionProps(this);\n const pendingDot = getComponentFromProp(this, 'pendingDot');\n const pending = getComponentFromProp(this, 'pending');\n const pendingNode = typeof pending === 'boolean' ? null : pending;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-pending`]: !!pending,\n [`${prefixCls}-reverse`]: !!reverse,\n [`${prefixCls}-${mode}`]: !!mode,\n });\n const children = filterEmpty(this.$slots.default);\n // // Remove falsy items\n // const falsylessItems = filterEmpty(this.$slots.default)\n // const items = falsylessItems.map((item, idx) => {\n // return cloneElement(item, {\n // props: {\n // last: falsylessItems.length - 1 === idx,\n // },\n // })\n // })\n const pendingItem = !!pending ? (\n <TimelineItem pending={!!pending}>\n <template slot=\"dot\">{pendingDot || <Icon type=\"loading\" />}</template>\n {pendingNode}\n </TimelineItem>\n ) : null;\n\n const timeLineItems = !!reverse\n ? [pendingItem, ...children.reverse()]\n : [...children, pendingItem];\n\n // Remove falsy items\n const truthyItems = timeLineItems.filter(item => !!item);\n const itemsCount = truthyItems.length;\n const lastCls = `${prefixCls}-item-last`;\n const items = truthyItems.map((ele, idx) =>\n cloneElement(ele, {\n class: classNames([\n !reverse && !!pending\n ? idx === itemsCount - 2\n ? lastCls\n : ''\n : idx === itemsCount - 1\n ? lastCls\n : '',\n mode === 'alternate'\n ? idx % 2 === 0\n ? `${prefixCls}-item-left`\n : `${prefixCls}-item-right`\n : mode === 'right'\n ? `${prefixCls}-item-right`\n : '',\n ]),\n }),\n );\n\n const timelineProps = {\n props: {\n ...restProps,\n },\n class: classString,\n on: this.$listeners,\n };\n return <ul {...timelineProps}>{items}</ul>;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, initDefaultProps, getComponentFromProp } from '../_util/props-util';\n\nexport const TimeLineItemProps = {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n dot: PropTypes.any,\n pending: PropTypes.bool,\n};\n\nexport default {\n name: 'ATimelineItem',\n props: initDefaultProps(TimeLineItemProps, {\n prefixCls: 'ant-timeline',\n color: 'blue',\n pending: false,\n }),\n render() {\n const { prefixCls, color = '', pending } = getOptionProps(this);\n const dot = getComponentFromProp(this, 'dot');\n const itemClassName = classNames({\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-pending`]: pending,\n });\n\n const dotClassName = classNames({\n [`${prefixCls}-item-head`]: true,\n [`${prefixCls}-item-head-custom`]: dot,\n [`${prefixCls}-item-head-${color}`]: true,\n });\n const liProps = {\n class: itemClassName,\n on: this.$listeners,\n };\n return (\n <li {...liProps}>\n <div class={`${prefixCls}-item-tail`} />\n <div\n class={dotClassName}\n style={{ borderColor: /blue|red|green/.test(color) ? undefined : color }}\n >\n {dot}\n </div>\n <div class={`${prefixCls}-item-content`}>{this.$slots.default}</div>\n </li>\n );\n },\n};\n","import Timeline from './Timeline';\n\nexport { TimelineProps } from './Timeline';\nexport { TimeLineItemProps } from './TimelineItem';\nimport TimelineItem from './TimelineItem';\n\nTimeline.Item = TimelineItem;\n\n/* istanbul ignore next */\nTimeline.install = function(Vue) {\n Vue.component(Timeline.name, Timeline);\n Vue.component(TimelineItem.name, TimelineItem);\n};\n\nexport default Timeline;\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import { cloneElement } from '../_util/vnode';\nimport VcTooltip from '../vc-tooltip';\nimport getPlacements from './placements';\nimport PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n getComponentFromProp,\n getClass,\n getStyle,\n isValidElement,\n} from '../_util/props-util';\nimport abstractTooltipProps from './abstractTooltipProps';\n\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = { ...obj };\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return { picked, omitted };\n};\nconst props = abstractTooltipProps();\nexport default {\n name: 'ATooltip',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: {\n ...props,\n title: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n data() {\n return {\n sVisible: !!this.$props.visible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n methods: {\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.sVisible = this.isNoTitle() ? false : visible;\n }\n if (!this.isNoTitle()) {\n this.$emit('visibleChange', visible);\n }\n },\n\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n\n getPlacements() {\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.$props;\n return (\n builtinPlacements ||\n getPlacements({\n arrowPointAtCenter,\n verticalArrowShift: 8,\n autoAdjustOverflow,\n })\n );\n },\n\n // Fix Tooltip won't hide at disabled button\n // mouse events don't trigger at disabled button in Chrome\n // https://github.com/react-component/tooltip/issues/18\n getDisabledCompatibleChildren(ele) {\n const isAntBtn = ele.componentOptions && ele.componentOptions.Ctor.options.__ANT_BUTTON;\n if (\n (isAntBtn &&\n (ele.componentOptions.propsData.disabled ||\n ele.componentOptions.propsData.disabled === '')) ||\n (ele.tag === 'button' && ele.data && ele.data.attrs.disabled !== false)\n ) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const { picked, omitted } = splitObject(getStyle(ele), [\n 'position',\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'float',\n 'display',\n 'zIndex',\n ]);\n const spanStyle = {\n display: 'inline-block', // default inline-block is important\n ...picked,\n cursor: 'not-allowed',\n width: isAntBtn && ele.componentOptions.propsData.block ? '100%' : null,\n };\n const buttonStyle = {\n ...omitted,\n pointerEvents: 'none',\n };\n const spanCls = getClass(ele);\n const child = cloneElement(ele, {\n style: buttonStyle,\n class: null,\n });\n return (\n <span style={spanStyle} class={spanCls}>\n {child}\n </span>\n );\n }\n return ele;\n },\n\n isNoTitle() {\n const { $slots, title } = this;\n return !$slots.title && !title;\n },\n\n // 动态设置动画点\n onPopupAlign(domNode, align) {\n const placements = this.getPlacements();\n // 当前返回的位置\n const placement = Object.keys(placements).filter(\n key =>\n placements[key].points[0] === align.points[0] &&\n placements[key].points[1] === align.points[1],\n )[0];\n if (!placement) {\n return;\n }\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%',\n };\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n },\n },\n\n render() {\n const { $props, $data, $slots, $listeners } = this;\n const { prefixCls, openClassName, getPopupContainer } = $props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n let children = ($slots.default || []).filter(c => c.tag || c.text.trim() !== '');\n children = children.length === 1 ? children[0] : children;\n let sVisible = $data.sVisible;\n // Hide tooltip when there is no title\n if (!hasProp(this, 'visible') && this.isNoTitle()) {\n sVisible = false;\n }\n if (!children) {\n return null;\n }\n const child = this.getDisabledCompatibleChildren(\n isValidElement(children) ? children : <span>{children}</span>,\n );\n const childCls = {\n [openClassName || `${prefixCls}-open`]: true,\n };\n const tooltipProps = {\n props: {\n ...$props,\n getTooltipContainer: getPopupContainer || getContextPopupContainer,\n builtinPlacements: this.getPlacements(),\n visible: sVisible,\n },\n ref: 'tooltip',\n on: {\n ...$listeners,\n visibleChange: this.onVisibleChange,\n popupAlign: this.onPopupAlign,\n },\n };\n return (\n <VcTooltip {...tooltipProps}>\n <template slot=\"overlay\">{getComponentFromProp(this, 'title')}</template>\n {sVisible ? cloneElement(child, { class: childCls }) : child}\n </VcTooltip>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nconst triggerType = PropTypes.oneOf(['hover', 'focus', 'click', 'contextmenu']);\nexport default () => ({\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]).def('hover'),\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool,\n placement: PropTypes.oneOf([\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n 'leftTop',\n 'leftBottom',\n 'rightTop',\n 'rightBottom',\n ]).def('top'),\n transitionName: PropTypes.string.def('zoom-big-fast'),\n // onVisibleChange: PropTypes.func,\n overlayStyle: PropTypes.object.def({}),\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string.def('ant-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0.1),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getPopupContainer: PropTypes.func,\n arrowPointAtCenter: PropTypes.bool.def(false),\n autoAdjustOverflow: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(true),\n align: PropTypes.object.def({}),\n});\n","import ToolTip from './Tooltip';\n\n/* istanbul ignore next */\nToolTip.install = function(Vue) {\n Vue.component(ToolTip.name, ToolTip);\n};\n\nexport default ToolTip;\n","import { placements as rcPlacements } from '../vc-tooltip/placements';\n\nconst autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0,\n};\n\nconst targetOffset = [0, 0];\n\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return {\n ...autoAdjustOverflowDisabled,\n ...autoAdjustOverflow,\n };\n}\n\nexport default function getPlacements(config) {\n const {\n arrowWidth = 5,\n horizontalArrowShift = 16,\n verticalArrowShift = 12,\n autoAdjustOverflow = true,\n } = config;\n const placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0],\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0],\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4],\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4],\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4],\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)],\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4],\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)],\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4],\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth],\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4],\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth],\n },\n };\n Object.keys(placementMap).forEach(key => {\n placementMap[key] = config.arrowPointAtCenter\n ? {\n ...placementMap[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset,\n }\n : {\n ...rcPlacements[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n };\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}\n","import '../../style/index.less';\nimport './index.less';\n","// extracted by mini-css-extract-plugin","import PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport classNames from 'classnames';\nimport List from './list';\nimport Operation from './operation';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport warning from '../_util/warning';\n\nexport const TransferDirection = 'left' | 'right';\n\nexport const TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nexport const TransferProps = {\n prefixCls: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n disabled: PropTypes.boolean,\n targetKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n render: PropTypes.func,\n listStyle: PropTypes.object,\n operationStyle: PropTypes.object,\n titles: PropTypes.arrayOf(PropTypes.string),\n operations: PropTypes.arrayOf(PropTypes.string),\n showSearch: PropTypes.bool,\n filterOption: PropTypes.func,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n locale: PropTypes.object,\n rowKey: PropTypes.func,\n lazy: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n};\n\nexport const TransferLocale = {\n titles: PropTypes.arrayOf(PropTypes.string),\n notFoundContent: PropTypes.string,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n};\n\nconst Transfer = {\n name: 'ATransfer',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferProps, {\n dataSource: [],\n locale: {},\n showSearch: false,\n }),\n data() {\n // vue 中 通过slot,不方便传递,保留notFoundContent及searchPlaceholder\n // warning(\n // !(getComponentFromProp(this, 'notFoundContent') || hasProp(this, 'searchPlaceholder')),\n // 'Transfer[notFoundContent] and Transfer[searchPlaceholder] will be removed, ' +\n // 'please use Transfer[locale] instead.',\n // )\n\n this.separatedDataSource =\n {\n leftDataSource: [],\n rightDataSource: [],\n } | null;\n const { selectedKeys = [], targetKeys = [] } = this;\n return {\n leftFilter: '',\n rightFilter: '',\n sourceSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) === -1),\n targetSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) > -1),\n };\n },\n mounted() {\n // this.currentProps = { ...this.$props }\n },\n watch: {\n targetKeys() {\n this.updateState();\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n dataSource() {\n this.updateState();\n },\n selectedKeys() {\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n },\n methods: {\n updateState() {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n this.separatedDataSource = null;\n if (!this.selectedKeys) {\n // clear key nolonger existed\n // clear checkedKeys according to targetKeys\n const { dataSource, targetKeys = [] } = this;\n\n const newSourceSelectedKeys = [];\n const newTargetSelectedKeys = [];\n dataSource.forEach(({ key }) => {\n if (sourceSelectedKeys.includes(key) && !targetKeys.includes(key)) {\n newSourceSelectedKeys.push(key);\n }\n if (targetSelectedKeys.includes(key) && targetKeys.includes(key)) {\n newTargetSelectedKeys.push(key);\n }\n });\n this.setState({\n sourceSelectedKeys: newSourceSelectedKeys,\n targetSelectedKeys: newTargetSelectedKeys,\n });\n }\n },\n separateDataSource(props) {\n if (this.separatedDataSource) {\n return this.separatedDataSource;\n }\n\n const { dataSource, rowKey, targetKeys = [] } = props;\n\n const leftDataSource = [];\n const rightDataSource = new Array(targetKeys.length);\n dataSource.forEach(record => {\n if (rowKey) {\n record.key = rowKey(record);\n }\n\n // rightDataSource should be ordered by targetKeys\n // leftDataSource should be ordered by dataSource\n const indexOfKey = targetKeys.indexOf(record.key);\n if (indexOfKey !== -1) {\n rightDataSource[indexOfKey] = record;\n } else {\n leftDataSource.push(record);\n }\n });\n\n this.separatedDataSource = {\n leftDataSource,\n rightDataSource,\n };\n\n return this.separatedDataSource;\n },\n\n moveTo(direction) {\n const { targetKeys = [], dataSource = [] } = this.$props;\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const moveKeys = direction === 'right' ? sourceSelectedKeys : targetSelectedKeys;\n // filter the disabled options\n const newMoveKeys = moveKeys.filter(\n key => !dataSource.some(data => !!(key === data.key && data.disabled)),\n );\n // move items to target box\n const newTargetKeys =\n direction === 'right'\n ? newMoveKeys.concat(targetKeys)\n : targetKeys.filter(targetKey => newMoveKeys.indexOf(targetKey) === -1);\n\n // empty checked keys\n const oppositeDirection = direction === 'right' ? 'left' : 'right';\n this.setState({\n [this.getSelectedKeysName(oppositeDirection)]: [],\n });\n this.handleSelectChange(oppositeDirection, []);\n\n this.$emit('change', newTargetKeys, direction, newMoveKeys);\n },\n moveToLeft() {\n this.moveTo('left');\n },\n moveToRight() {\n this.moveTo('right');\n },\n\n handleSelectChange(direction, holder) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n\n if (direction === 'left') {\n this.$emit('selectChange', holder, targetSelectedKeys);\n } else {\n this.$emit('selectChange', sourceSelectedKeys, holder);\n }\n },\n handleSelectAll(direction, filteredDataSource, checkAll) {\n const originalSelectedKeys = this[this.getSelectedKeysName(direction)] || [];\n const currentKeys = filteredDataSource.map(item => item.key);\n // Only operate current keys from original selected keys\n const newKeys1 = originalSelectedKeys.filter(key => currentKeys.indexOf(key) === -1);\n const newKeys2 = [...originalSelectedKeys];\n currentKeys.forEach(key => {\n if (newKeys2.indexOf(key) === -1) {\n newKeys2.push(key);\n }\n });\n const holder = checkAll ? newKeys1 : newKeys2;\n this.handleSelectChange(direction, holder);\n\n if (!this.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: holder,\n });\n }\n },\n\n handleLeftSelectAll(filteredDataSource, checkAll) {\n this.handleSelectAll('left', filteredDataSource, checkAll);\n },\n handleRightSelectAll(filteredDataSource, checkAll) {\n this.handleSelectAll('right', filteredDataSource, checkAll);\n },\n\n handleFilter(direction, e) {\n const value = e.target.value;\n this.setState({\n // add filter\n [`${direction}Filter`]: value,\n });\n if (this.$listeners.searchChange) {\n warning(false, '`searchChange` in Transfer is deprecated. Please use `search` instead.');\n this.$emit('searchChange', direction, e);\n }\n this.$emit('search', direction, value);\n },\n\n handleLeftFilter(e) {\n this.handleFilter('left', e);\n },\n handleRightFilter(e) {\n this.handleFilter('right', e);\n },\n\n handleClear(direction) {\n this.setState({\n [`${direction}Filter`]: '',\n });\n this.$emit('search', direction, '');\n },\n\n handleLeftClear() {\n this.handleClear('left');\n },\n handleRightClear() {\n this.handleClear('right');\n },\n\n handleSelect(direction, selectedItem, checked) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const holder = direction === 'left' ? [...sourceSelectedKeys] : [...targetSelectedKeys];\n const index = holder.indexOf(selectedItem.key);\n if (index > -1) {\n holder.splice(index, 1);\n }\n if (checked) {\n holder.push(selectedItem.key);\n }\n this.handleSelectChange(direction, holder);\n\n if (!this.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: holder,\n });\n }\n },\n\n handleLeftSelect(selectedItem, checked) {\n return this.handleSelect('left', selectedItem, checked);\n },\n\n handleRightSelect(selectedItem, checked) {\n return this.handleSelect('right', selectedItem, checked);\n },\n\n handleScroll(direction, e) {\n this.$emit('scroll', direction, e);\n },\n\n handleLeftScroll(e) {\n this.handleScroll('left', e);\n },\n handleRightScroll(e) {\n this.handleScroll('right', e);\n },\n\n getTitles(transferLocale) {\n if (this.titles) {\n return this.titles;\n }\n return transferLocale.titles || ['', ''];\n },\n\n getSelectedKeysName(direction) {\n return direction === 'left' ? 'sourceSelectedKeys' : 'targetSelectedKeys';\n },\n\n getLocale(transferLocale) {\n // Keep old locale props still working.\n const oldLocale = {};\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent) {\n oldLocale.notFoundContent = notFoundContent;\n }\n if (hasProp(this, 'searchPlaceholder')) {\n oldLocale.searchPlaceholder = this.$props.searchPlaceholder;\n }\n\n return { ...transferLocale, ...oldLocale, ...this.$props.locale };\n },\n\n renderTransfer(transferLocale) {\n const props = getOptionProps(this);\n const {\n prefixCls = 'ant-transfer',\n disabled,\n operations = [],\n showSearch,\n listStyle,\n operationStyle,\n filterOption,\n lazy,\n } = props;\n const locale = this.getLocale(transferLocale);\n const {\n leftFilter,\n rightFilter,\n sourceSelectedKeys,\n targetSelectedKeys,\n $scopedSlots,\n } = this;\n const { body, footer } = $scopedSlots;\n const renderItem = props.render;\n const { leftDataSource, rightDataSource } = this.separateDataSource(this.$props);\n const leftActive = targetSelectedKeys.length > 0;\n const rightActive = sourceSelectedKeys.length > 0;\n\n const cls = classNames(prefixCls, disabled && `${prefixCls}-disabled`);\n\n const titles = this.getTitles(locale);\n return (\n <div class={cls}>\n <List\n prefixCls={`${prefixCls}-list`}\n titleText={titles[0]}\n dataSource={leftDataSource}\n filter={leftFilter}\n filterOption={filterOption}\n style={listStyle}\n checkedKeys={sourceSelectedKeys}\n handleFilter={this.handleLeftFilter}\n handleClear={this.handleLeftClear}\n handleSelect={this.handleLeftSelect}\n handleSelectAll={this.handleLeftSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleLeftScroll}\n disabled={disabled}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n <Operation\n class={`${prefixCls}-operation`}\n rightActive={rightActive}\n rightArrowText={operations[0]}\n moveToRight={this.moveToRight}\n leftActive={leftActive}\n leftArrowText={operations[1]}\n moveToLeft={this.moveToLeft}\n style={operationStyle}\n disabled={disabled}\n />\n <List\n prefixCls={`${prefixCls}-list`}\n titleText={titles[1]}\n dataSource={rightDataSource}\n filter={rightFilter}\n filterOption={filterOption}\n style={listStyle}\n checkedKeys={targetSelectedKeys}\n handleFilter={this.handleRightFilter}\n handleClear={this.handleRightClear}\n handleSelect={this.handleRightSelect}\n handleSelectAll={this.handleRightSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleRightScroll}\n disabled={disabled}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n </div>\n );\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Transfer\"\n defaultLocale={defaultLocale.Transfer}\n scopedSlots={{ default: this.renderTransfer }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTransfer.install = function(Vue) {\n Vue.component(Transfer.name, Transfer);\n};\n\nexport default Transfer;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport Lazyload from '../vc-lazy-load';\nimport Checkbox from '../checkbox';\n\nfunction noop() {}\n\nexport default {\n name: 'Item',\n props: {\n renderedText: PropTypes.any,\n renderedEl: PropTypes.any,\n item: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n checked: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { renderedText, renderedEl, item, lazy, checked, disabled, prefixCls } = this.$props;\n\n const className = classNames({\n [`${prefixCls}-content-item`]: true,\n [`${prefixCls}-content-item-disabled`]: disabled || item.disabled,\n });\n\n let title;\n if (typeof renderedText === 'string' || typeof renderedText === 'number') {\n title = String(renderedText);\n }\n\n const listItem = (\n <li\n class={className}\n title={title}\n onClick={\n disabled || item.disabled\n ? noop\n : () => {\n this.$emit('click', item);\n }\n }\n >\n <Checkbox checked={checked} disabled={disabled || item.disabled} />\n <span>{renderedEl}</span>\n </li>\n );\n let children = null;\n if (lazy) {\n const lazyProps = {\n props: {\n height: 32,\n offset: 500,\n throttle: 0,\n debounce: false,\n ...lazy,\n _propsSymbol: Symbol(),\n },\n };\n children = <Lazyload {...lazyProps}>{listItem}</Lazyload>;\n } else {\n children = listItem;\n }\n return children;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { isValidElement, initDefaultProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Checkbox from '../checkbox';\nimport Search from './search';\nimport Item from './item';\nimport triggerEvent from '../_util/triggerEvent';\nimport addEventListener from '../_util/Dom/addEventListener';\n\nfunction noop() {}\n\nconst TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nfunction isRenderResultPlainObject(result) {\n return (\n result &&\n !isValidElement(result) &&\n Object.prototype.toString.call(result) === '[object Object]'\n );\n}\n\nexport const TransferListProps = {\n prefixCls: PropTypes.string,\n titleText: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n filter: PropTypes.string,\n filterOption: PropTypes.func,\n checkedKeys: PropTypes.arrayOf(PropTypes.string),\n handleFilter: PropTypes.func,\n handleSelect: PropTypes.func,\n handleSelectAll: PropTypes.func,\n handleClear: PropTypes.func,\n renderItem: PropTypes.func,\n showSearch: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n body: PropTypes.any,\n footer: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'TransferList',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferListProps, {\n dataSource: [],\n titleText: '',\n showSearch: false,\n renderItem: noop,\n lazy: {},\n }),\n data() {\n this.timer = null;\n this.triggerScrollTimer = null;\n return {\n mounted: false,\n };\n },\n mounted() {\n this.timer = setTimeout(() => {\n this.setState({\n mounted: true,\n });\n }, 0);\n this.$nextTick(() => {\n if (this.$refs.listContentWrapper) {\n const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n }\n });\n },\n beforeDestroy() {\n clearTimeout(this.timer);\n clearTimeout(this.triggerScrollTimer);\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n if (this.$refs.listContentWrapper) {\n const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n }\n });\n },\n methods: {\n handleScroll(e) {\n this.$emit('scroll', e);\n },\n getCheckStatus(filteredDataSource) {\n const { checkedKeys } = this.$props;\n if (checkedKeys.length === 0) {\n return 'none';\n } else if (filteredDataSource.every(item => checkedKeys.indexOf(item.key) >= 0)) {\n return 'all';\n }\n return 'part';\n },\n _handleSelect(selectedItem) {\n const { checkedKeys } = this.$props;\n const result = checkedKeys.some(key => key === selectedItem.key);\n this.handleSelect(selectedItem, !result);\n },\n _handleFilter(e) {\n this.handleFilter(e);\n if (!e.target.value) {\n return;\n }\n // Manually trigger scroll event for lazy search bug\n // https://github.com/ant-design/ant-design/issues/5631\n this.triggerScrollTimer = setTimeout(() => {\n const transferNode = this.$el;\n const listNode = transferNode.querySelectorAll('.ant-transfer-list-content')[0];\n if (listNode) {\n triggerEvent(listNode, 'scroll');\n }\n }, 0);\n },\n _handleClear(e) {\n this.handleClear(e);\n },\n matchFilter(text, item) {\n const { filter, filterOption } = this.$props;\n if (filterOption) {\n return filterOption(filter, item);\n }\n return text.indexOf(filter) >= 0;\n },\n renderItemHtml(item) {\n const { renderItem = noop } = this.$props;\n const renderResult = renderItem(item);\n const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n return {\n renderedText: isRenderResultPlain ? renderResult.value : renderResult,\n renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n };\n },\n filterNull(arr) {\n return arr.filter(item => {\n return item !== null;\n });\n },\n },\n\n render() {\n const {\n prefixCls,\n dataSource,\n titleText,\n checkedKeys,\n lazy,\n disabled,\n body,\n footer,\n showSearch,\n filter,\n searchPlaceholder,\n notFoundContent,\n itemUnit,\n itemsUnit,\n } = this.$props;\n\n // Custom Layout\n const footerDom = footer && footer({ ...this.$props });\n const bodyDom = body && body({ ...this.$props });\n\n const listCls = classNames(prefixCls, {\n [`${prefixCls}-with-footer`]: !!footerDom,\n });\n\n const filteredDataSource = [];\n const totalDataSource = [];\n\n const showItems = dataSource.map(item => {\n const { renderedText, renderedEl } = this.renderItemHtml(item);\n if (filter && filter.trim() && !this.matchFilter(renderedText, item)) {\n return null;\n }\n\n // all show items\n totalDataSource.push(item);\n if (!item.disabled) {\n // response to checkAll items\n filteredDataSource.push(item);\n }\n\n const checked = checkedKeys.indexOf(item.key) >= 0;\n return (\n <Item\n disabled={disabled}\n key={item.key}\n item={item}\n lazy={lazy}\n renderedText={renderedText}\n renderedEl={renderedEl}\n checked={checked}\n prefixCls={prefixCls}\n onClick={this._handleSelect}\n />\n );\n });\n\n const unit = dataSource.length > 1 ? itemsUnit : itemUnit;\n\n const search = showSearch ? (\n <div class={`${prefixCls}-body-search-wrapper`}>\n <Search\n prefixCls={`${prefixCls}-search`}\n onChange={this._handleFilter}\n handleClear={this.handleClear}\n placeholder={searchPlaceholder}\n value={filter}\n disabled={disabled}\n />\n </div>\n ) : null;\n const transitionName = this.mounted ? `${prefixCls}-content-item-highlight` : '';\n const transitionProps = getTransitionProps(transitionName, {\n leave: noop,\n });\n\n const searchNotFound = showItems.every(item => item === null) && (\n <div class={`${prefixCls}-body-not-found`}>{notFoundContent}</div>\n );\n const listBody = bodyDom || (\n <div\n class={classNames(\n showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`,\n )}\n >\n {search}\n <transition-group\n {...transitionProps}\n tag=\"ul\"\n class={`${prefixCls}-content`}\n ref=\"listContentWrapper\"\n >\n {showItems}\n </transition-group>\n {searchNotFound}\n </div>\n );\n\n const listFooter = footerDom ? <div class={`${prefixCls}-footer`}>{footerDom}</div> : null;\n\n const checkStatus = this.getCheckStatus(filteredDataSource);\n const checkedAll = checkStatus === 'all';\n const checkAllCheckbox = (\n <Checkbox\n ref=\"checkbox\"\n disabled={disabled}\n checked={checkedAll}\n indeterminate={checkStatus === 'part'}\n onChange={() => {\n this.handleSelectAll(filteredDataSource, checkedAll);\n }}\n />\n );\n\n return (\n <div class={listCls}>\n <div class={`${prefixCls}-header`}>\n {checkAllCheckbox}\n <span class={`${prefixCls}-header-selected`}>\n <span>\n {(checkedKeys.length > 0 ? `${checkedKeys.length}/` : '') + totalDataSource.length}{' '}\n {unit}\n </span>\n <span class={`${prefixCls}-header-title`}>{titleText}</span>\n </span>\n </div>\n {listBody}\n {listFooter}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps } from '../_util/props-util';\nimport Button from '../button';\n\nfunction noop() {}\n\nexport const TransferOperationProps = {\n className: PropTypes.string,\n leftArrowText: PropTypes.string,\n rightArrowText: PropTypes.string,\n moveToLeft: PropTypes.any,\n moveToRight: PropTypes.any,\n leftActive: PropTypes.bool,\n rightActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Operation',\n props: { ...TransferOperationProps },\n render() {\n const {\n disabled,\n moveToLeft = noop,\n moveToRight = noop,\n leftArrowText = '',\n rightArrowText = '',\n leftActive,\n rightActive,\n } = getOptionProps(this);\n return (\n <div>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !rightActive}\n onClick={moveToRight}\n icon=\"right\"\n >\n {rightArrowText}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !leftActive}\n onClick={moveToLeft}\n icon=\"left\"\n >\n {leftArrowText}\n </Button>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport Icon from '../icon';\nimport Input from '../input';\n\nexport const TransferSearchProps = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleClear: PropTypes.func,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Search',\n props: initDefaultProps(TransferSearchProps, {\n placeholder: '',\n }),\n methods: {\n handleChange(e) {\n this.$emit('change', e);\n },\n handleClear2(e) {\n e.preventDefault();\n const { handleClear, disabled } = this.$props;\n if (!disabled && handleClear) {\n handleClear(e);\n }\n },\n },\n render() {\n const { placeholder, value, prefixCls, disabled } = getOptionProps(this);\n const icon =\n value && value.length > 0 ? (\n <a href=\"#\" class={`${prefixCls}-action`} onClick={this.handleClear2}>\n <Icon type=\"close-circle\" theme=\"filled\" />\n </a>\n ) : (\n <span class={`${prefixCls}-action`}>\n <Icon type=\"search\" />\n </span>\n );\n\n return (\n <div>\n <Input\n placeholder={placeholder}\n class={prefixCls}\n value={value}\n ref=\"input\"\n onChange={this.handleChange}\n disabled={disabled}\n />\n {icon}\n </div>\n );\n },\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../checkbox/style';\nimport '../../button/style';\nimport '../../input/style';\n","// extracted by mini-css-extract-plugin","import VcTreeSelect, { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from '../vc-tree-select';\nimport classNames from 'classnames';\nimport { TreeSelectProps } from './interface';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport warning from '../_util/warning';\nimport {\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n isValidElement,\n} from '../_util/props-util';\n\nexport { TreeData, TreeSelectProps } from './interface';\n\nimport Icon from '../icon';\nimport omit from 'omit.js';\nimport { cloneElement } from '../_util/vnode';\n\nconst TreeSelect = {\n TreeNode: { ...TreeNode, name: 'ATreeSelectNode' },\n SHOW_ALL,\n SHOW_PARENT,\n SHOW_CHILD,\n name: 'ATreeSelect',\n props: initDefaultProps(TreeSelectProps(), {\n prefixCls: 'ant-select',\n transitionName: 'slide-up',\n choiceTransitionName: 'zoom',\n showSearch: false,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ({}) },\n },\n created() {\n warning(\n this.multiple !== false || !this.treeCheckable,\n '`multiple` will alway be `true` when `treeCheckable` is true',\n );\n },\n methods: {\n focus() {\n this.$refs.vcTreeSelect.focus();\n },\n\n blur() {\n this.$refs.vcTreeSelect.blur();\n },\n renderSwitcherIcon({ isLeaf, loading }) {\n const { prefixCls } = this.$props;\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n if (isLeaf) {\n return null;\n }\n return <Icon type=\"caret-down\" class={`${prefixCls}-switcher-icon`} />;\n },\n onChange() {\n this.$emit('change', ...arguments);\n },\n updateTreeData(list = []) {\n for (let i = 0, len = list.length; i < len; i++) {\n const { label, title, scopedSlots = {}, children } = list[i];\n const { $scopedSlots } = this;\n let newLabel = typeof label === 'function' ? label(this.$createElement) : label;\n let newTitle = typeof title === 'function' ? title(this.$createElement) : title;\n if (!newLabel && scopedSlots.label && $scopedSlots[scopedSlots.label]) {\n newLabel = $scopedSlots.label(list[i]);\n }\n if (!newTitle && scopedSlots.title && $scopedSlots[scopedSlots.title]) {\n newTitle = $scopedSlots.title(list[i]);\n }\n const item = {\n // label: newLabel,\n title: newTitle || newLabel,\n };\n this.updateTreeData(children || []);\n Object.assign(list[i], item);\n }\n },\n renderTreeSelect(locale) {\n const props = getOptionProps(this);\n\n const {\n prefixCls,\n size,\n notFoundContent,\n dropdownStyle,\n dropdownClassName,\n getPopupContainer,\n ...restProps\n } = props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'switcherIcon',\n 'suffixIcon',\n ]);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n this.updateTreeData(props.treeData || []);\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n let checkable = getComponentFromProp(this, 'treeCheckable');\n if (checkable) {\n checkable = <span class={`${prefixCls}-tree-checkbox-inner`} />;\n }\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? cloneElement(suffixIcon) : suffixIcon)) || (\n <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />\n );\n\n const removeIcon = <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const clearIcon = (\n <Icon type=\"close-circle\" class={`${prefixCls}-clear-icon`} theme=\"filled\" />\n );\n\n const VcTreeSelectProps = {\n props: {\n switcherIcon: this.renderSwitcherIcon,\n inputIcon,\n removeIcon,\n clearIcon,\n ...rest,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: classNames(dropdownClassName, `${prefixCls}-tree-dropdown`),\n prefixCls,\n dropdownStyle: { maxHeight: '100vh', overflow: 'auto', ...dropdownStyle },\n treeCheckable: checkable,\n notFoundContent: notFoundContent || locale.notFoundContent,\n __propsSymbol__: Symbol(),\n },\n class: cls,\n on: { ...this.$listeners, change: this.onChange },\n ref: 'vcTreeSelect',\n scopedSlots: this.$scopedSlots,\n };\n return <VcTreeSelect {...VcTreeSelectProps}>{filterEmpty(this.$slots.default)}</VcTreeSelect>;\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"Select\"\n defaultLocale={{}}\n scopedSlots={{ default: this.renderTreeSelect }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTreeSelect.install = function(Vue) {\n Vue.component(TreeSelect.name, TreeSelect);\n Vue.component(TreeSelect.TreeNode.name, TreeSelect.TreeNode);\n};\n\nexport default TreeSelect;\n","import PropTypes from '../_util/vue-types';\nimport { AbstractSelectProps } from '../select';\n\nexport const TreeData = PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.any,\n scopedSlots: PropTypes.object,\n children: PropTypes.array,\n}).loose;\n\nexport const TreeSelectProps = () => ({\n ...AbstractSelectProps(),\n autoFocus: PropTypes.bool,\n dropdownStyle: PropTypes.object,\n filterTreeNode: PropTypes.oneOfType([Function, Boolean]),\n getPopupContainer: PropTypes.func,\n labelInValue: PropTypes.bool,\n loadData: PropTypes.func,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.array]),\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.array]),\n multiple: PropTypes.bool,\n // onSelect: (value: any) => void,\n // onChange: (value: any, label: any) => void,\n // onSearch: (value: any) => void,\n searchPlaceholder: PropTypes.string,\n searchValue: PropTypes.string,\n showCheckedStrategy: PropTypes.oneOf(['SHOW_ALL', 'SHOW_PARENT', 'SHOW_CHILD']),\n suffixIcon: PropTypes.any,\n treeCheckable: PropTypes.bool,\n treeCheckStrictly: PropTypes.bool,\n treeData: PropTypes.arrayOf(Object),\n treeDataSimpleMode: PropTypes.oneOfType([Boolean, Object]),\n\n dropdownClassName: PropTypes.string,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeExpandedKeys: PropTypes.array,\n treeDefaultExpandedKeys: PropTypes.array,\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n});\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../checkbox/style';\n","// extracted by mini-css-extract-plugin","import omit from 'omit.js';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport { conductExpandParent, convertTreeToEntities } from '../vc-tree/src/util';\nimport Tree, { TreeProps } from './Tree';\nimport { calcRangeKeys, getFullKeyList } from './util';\nimport Icon from '../icon';\nimport BaseMixin from '../_util/BaseMixin';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\n\n// export type ExpandAction = false | 'click' | 'doubleClick';\n\n// export interface DirectoryTreeProps extends TreeProps {\n// expandAction?: ExpandAction;\n// }\n\n// export interface DirectoryTreeState {\n// expandedKeys?: string[];\n// selectedKeys?: string[];\n// }\n\nfunction getIcon(props, h) {\n const { isLeaf, expanded } = props;\n if (isLeaf) {\n return <Icon type=\"file\" />;\n }\n return <Icon type={expanded ? 'folder-open' : 'folder'} />;\n}\n\nexport default {\n name: 'ADirectoryTree',\n mixins: [BaseMixin],\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(\n { ...TreeProps(), expandAction: PropTypes.oneOf([false, 'click', 'doubleclick']) },\n {\n prefixCls: 'ant-tree',\n showIcon: true,\n expandAction: 'click',\n },\n ),\n\n // state: DirectoryTreeState;\n // onDebounceExpand: (event, node: AntTreeNode) => void;\n\n // // Shift click usage\n // lastSelectedKey?: string;\n // cachedSelectedKeys?: string[];\n\n data() {\n const props = getOptionProps(this);\n const { defaultExpandAll, defaultExpandParent, expandedKeys, defaultExpandedKeys } = props;\n const { keyEntities } = convertTreeToEntities(this.$slots.default);\n const state = {};\n // Selected keys\n state._selectedKeys = props.selectedKeys || props.defaultSelectedKeys || [];\n\n // Expanded keys\n if (defaultExpandAll) {\n state._expandedKeys = getFullKeyList(this.$slots.default);\n } else if (defaultExpandParent) {\n state._expandedKeys = conductExpandParent(expandedKeys || defaultExpandedKeys, keyEntities);\n } else {\n state._expandedKeys = expandedKeys || defaultExpandedKeys;\n }\n\n this.onDebounceExpand = debounce(this.expandFolderNode, 200, {\n leading: true,\n });\n return {\n _selectedKeys: [],\n _expandedKeys: [],\n ...state,\n };\n },\n watch: {\n expandedKeys(val) {\n this.setState({ _expandedKeys: val });\n },\n selectedKeys(val) {\n this.setState({ _selectedKeys: val });\n },\n },\n methods: {\n onExpand(expandedKeys, info) {\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n\n this.$emit('expand', expandedKeys, info);\n\n return undefined;\n },\n\n onClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'click') {\n this.onDebounceExpand(event, node);\n }\n this.$emit('click', event, node);\n },\n\n onDoubleClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'doubleclick') {\n this.onDebounceExpand(event, node);\n }\n\n this.$emit('doubleclick', event, node);\n },\n\n onSelect(keys, event) {\n const { multiple } = this.$props;\n const children = this.$slots.default || [];\n const { _expandedKeys: expandedKeys = [] } = this.$data;\n const { node, nativeEvent } = event;\n const { eventKey = '' } = node;\n\n const newState = {};\n // Windows / Mac single pick\n const ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n const shiftPick = nativeEvent.shiftKey;\n\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(\n new Set([\n ...(this.cachedSelectedKeys || []),\n ...calcRangeKeys(children, expandedKeys, eventKey, this.lastSelectedKey),\n ]),\n );\n } else {\n // Single click\n newSelectedKeys = [eventKey];\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n }\n newState._selectedKeys = newSelectedKeys;\n\n this.$emit('update:selectedKeys', newSelectedKeys);\n this.$emit('select', newSelectedKeys, event);\n\n this.setUncontrolledState(newState);\n },\n\n expandFolderNode(event, node) {\n const { isLeaf } = node;\n\n if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n return;\n }\n\n if (this.$refs.tree.$refs.tree) {\n // Get internal vc-tree\n const internalTree = this.$refs.tree.$refs.tree;\n\n // Call internal rc-tree expand function\n // https://github.com/ant-design/ant-design/issues/12567\n internalTree.onNodeExpand(event, node);\n }\n },\n\n setUncontrolledState(state) {\n const newState = omit(state, Object.keys(getOptionProps(this)).map(p => `_${p}`));\n if (Object.keys(newState).length) {\n this.setState(newState);\n }\n },\n },\n\n render() {\n const { prefixCls, ...props } = getOptionProps(this);\n const { _expandedKeys: expandedKeys, _selectedKeys: selectedKeys } = this.$data;\n const treeProps = {\n props: {\n icon: getIcon,\n ...props,\n prefixCls,\n expandedKeys,\n selectedKeys,\n },\n ref: 'tree',\n class: `${prefixCls}-directory`,\n on: {\n ...omit(this.$listeners, ['update:selectedKeys']),\n select: this.onSelect,\n click: this.onClick,\n doubleclick: this.onDoubleClick,\n expand: this.onExpand,\n },\n };\n return <Tree {...treeProps}>{this.$slots.default}</Tree>;\n },\n};\n","import warning from 'warning';\nimport { Tree as VcTree, TreeNode } from '../vc-tree';\nimport animation from '../_util/openAnimation';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, filterEmpty } from '../_util/props-util';\nimport Icon from '../icon';\n\nfunction TreeProps() {\n return {\n showLine: PropTypes.bool,\n /** 是否支持多选 */\n multiple: PropTypes.bool,\n /** 是否自动展开父节点 */\n autoExpandParent: PropTypes.bool,\n /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/\n checkStrictly: PropTypes.bool,\n /** 是否支持选中 */\n checkable: PropTypes.bool,\n /** 是否禁用树 */\n disabled: PropTypes.bool,\n /** 默认展开所有树节点 */\n defaultExpandAll: PropTypes.bool,\n /** 默认展开对应树节点 */\n defaultExpandParent: PropTypes.bool,\n /** 默认展开指定的树节点 */\n defaultExpandedKeys: PropTypes.array,\n /** (受控)展开指定的树节点 */\n expandedKeys: PropTypes.array,\n /** (受控)选中复选框的树节点 */\n checkedKeys: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n checked: PropTypes.array,\n halfChecked: PropTypes.array,\n }).loose,\n ]),\n /** 默认选中复选框的树节点 */\n defaultCheckedKeys: PropTypes.array,\n /** (受控)设置选中的树节点 */\n selectedKeys: PropTypes.array,\n /** 默认选中的树节点 */\n defaultSelectedKeys: PropTypes.array,\n selectable: PropTypes.bool,\n /** 展开/收起节点时触发 */\n // onExpand: (expandedKeys: string[], info: AntTreeNodeExpandedEvent) => void | PromiseLike<any>,\n /** 点击复选框触发 */\n // onCheck: (checkedKeys: string[] | { checked: string[]; halfChecked: string[] }, e: AntTreeNodeCheckedEvent) => void,\n /** 点击树节点触发 */\n // onSelect: (selectedKeys: string[], e: AntTreeNodeSelectedEvent) => void,\n /** 单击树节点触发 */\n // onClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** 双击树节点触发 */\n // onDoubleClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** filter some AntTreeNodes as you need. it should return true */\n filterAntTreeNode: PropTypes.func,\n /** 异步加载数据 */\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onLoaded: (loadedKeys: string[], info: { event: 'load', node: AntTreeNode; }) => void,\n /** 响应右键点击 */\n // onRightClick: (options: AntTreeNodeMouseEvent) => void,\n /** 设置节点可拖拽(IE>8)*/\n draggable: PropTypes.bool,\n // /** 开始拖拽时调用 */\n // onDragStart: (options: AntTreeNodeMouseEvent) => void,\n // /** dragenter 触发时调用 */\n // onDragEnter: (options: AntTreeNodeMouseEvent) => void,\n // /** dragover 触发时调用 */\n // onDragOver: (options: AntTreeNodeMouseEvent) => void,\n // /** dragleave 触发时调用 */\n // onDragLeave: (options: AntTreeNodeMouseEvent) => void,\n // /** drop 触发时调用 */\n // onDrop: (options: AntTreeNodeMouseEvent) => void,\n showIcon: PropTypes.bool,\n icon: PropTypes.func,\n prefixCls: PropTypes.string,\n filterTreeNode: PropTypes.func,\n openAnimation: PropTypes.any,\n treeNodes: PropTypes.array,\n treeData: PropTypes.array,\n };\n}\n\nexport { TreeProps };\n\nexport default {\n name: 'ATree',\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(TreeProps(), {\n prefixCls: 'ant-tree',\n checkable: false,\n showIcon: false,\n openAnimation: {\n on: animation,\n props: { appear: null },\n },\n }),\n created() {\n warning(\n !('treeNodes' in getOptionProps(this)),\n '`treeNodes` is deprecated. please use treeData instead.',\n );\n },\n TreeNode,\n methods: {\n renderSwitcherIcon({ isLeaf, expanded, loading }) {\n const { prefixCls, showLine } = this.$props;\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n if (showLine) {\n if (isLeaf) {\n return <Icon type=\"file\" class={`${prefixCls}-switcher-line-icon`} />;\n }\n return (\n <Icon\n type={expanded ? 'minus-square' : 'plus-square'}\n class={`${prefixCls}-switcher-line-icon`}\n theme=\"outlined\"\n />\n );\n } else {\n if (isLeaf) {\n return null;\n }\n return <Icon type=\"caret-down\" class={`${prefixCls}-switcher-icon`} theme=\"filled\" />;\n }\n },\n updateTreeData(treeData) {\n const { $slots, $scopedSlots } = this;\n return treeData.map(item => {\n const {\n children,\n on = {},\n slots = {},\n scopedSlots = {},\n key,\n class: cls,\n style,\n ...restProps\n } = item;\n const treeNodeProps = {\n ...restProps,\n icon:\n $slots[slots.icon] ||\n ($scopedSlots[scopedSlots.icon] && $scopedSlots[scopedSlots.icon]) ||\n restProps.icon,\n title:\n $slots[slots.title] ||\n ($scopedSlots[scopedSlots.title] && $scopedSlots[scopedSlots.title](item)) ||\n restProps.title,\n dataRef: item,\n on,\n key,\n class: cls,\n style,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls, showIcon, treeNodes } = props;\n const checkable = props.checkable;\n let treeData = props.treeData || treeNodes;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const vcTreeProps = {\n props: {\n ...props,\n checkable: checkable ? <span class={`${prefixCls}-checkbox-inner`} /> : checkable,\n children: filterEmpty(this.$slots.default || []),\n __propsSymbol__: Symbol(),\n switcherIcon: this.renderSwitcherIcon,\n },\n on: this.$listeners,\n ref: 'tree',\n class: !showIcon && `${prefixCls}-icon-hide`,\n };\n if (treeData) {\n vcTreeProps.props.treeData = treeData;\n }\n return <VcTree {...vcTreeProps} />;\n },\n};\n","import Tree from './Tree';\nimport DirectoryTree from './DirectoryTree';\n\nTree.TreeNode.name = 'ATreeNode';\nTree.DirectoryTree = DirectoryTree;\n/* istanbul ignore next */\nTree.install = function(Vue) {\n Vue.component(Tree.name, Tree);\n Vue.component(Tree.TreeNode.name, Tree.TreeNode);\n Vue.component(DirectoryTree.name, DirectoryTree);\n};\n\nexport default Tree;\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../checkbox/style';\n","// extracted by mini-css-extract-plugin","import { getNodeChildren, convertTreeToEntities } from '../vc-tree/src/util';\nimport { getSlots } from '../_util/props-util';\n\nconst Record = {\n None: 'node',\n Start: 'start',\n End: 'end',\n};\n\n// TODO: Move this logic into `rc-tree`\nfunction traverseNodesKey(rootChildren, callback) {\n const nodeList = getNodeChildren(rootChildren) || [];\n\n function processNode(node) {\n const { key } = node;\n const children = getSlots(node).default;\n if (callback(key) !== false) {\n traverseNodesKey(children, callback);\n }\n }\n\n nodeList.forEach(processNode);\n}\n\nexport function getFullKeyList(children) {\n const { keyEntities } = convertTreeToEntities(children);\n return [...keyEntities.keys()];\n}\n\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(rootChildren, expandedKeys, startKey, endKey) {\n const keys = [];\n let record = Record.None;\n\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n\n traverseNodesKey(rootChildren, key => {\n if (record === Record.End) {\n return false;\n }\n\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n\n if (expandedKeys.indexOf(key) === -1) {\n return false;\n }\n\n return true;\n });\n\n return keys;\n}\n","import { getOptionProps } from '../_util/props-util';\nimport Upload from './Upload';\nimport { UploadProps } from './interface';\n\nexport default {\n name: 'AUploadDragger',\n props: UploadProps,\n render() {\n const props = getOptionProps(this);\n const draggerProps = {\n props: {\n ...props,\n type: 'drag',\n },\n on: this.$listeners,\n style: { height: this.height },\n };\n return <Upload {...draggerProps}>{this.$slots.default}</Upload>;\n },\n};\n","import classNames from 'classnames';\nimport uniqBy from 'lodash/uniqBy';\nimport VcUpload from '../vc-upload';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps, hasProp } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport Dragger from './Dragger';\nimport UploadList from './UploadList';\nimport { UploadProps } from './interface';\nimport { T, fileToObject, genPercentAdd, getFileItem, removeFileItem } from './utils';\n\nexport { UploadProps };\n\nexport default {\n name: 'AUpload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n Dragger: Dragger,\n props: initDefaultProps(UploadProps, {\n prefixCls: 'ant-upload',\n type: 'select',\n multiple: false,\n action: '',\n data: {},\n accept: '',\n beforeUpload: T,\n showUploadList: true,\n listType: 'text', // or pictrue\n disabled: false,\n supportServerRender: true,\n }),\n // recentUploadStatus: boolean | PromiseLike<any>;\n data() {\n this.progressTimer = null;\n return {\n sFileList: this.fileList || this.defaultFileList || [],\n dragState: 'drop',\n };\n },\n watch: {\n fileList(val) {\n this.sFileList = val;\n },\n },\n beforeDestroy() {\n this.clearProgressTimer();\n },\n methods: {\n onStart(file) {\n const targetItem = fileToObject(file);\n targetItem.status = 'uploading';\n const nextFileList = this.sFileList.concat();\n const fileIndex = nextFileList.findIndex(({ uid }) => uid === targetItem.uid);\n if (fileIndex === -1) {\n nextFileList.push(targetItem);\n } else {\n nextFileList[fileIndex] = targetItem;\n }\n this.onChange({\n file: targetItem,\n fileList: nextFileList,\n });\n // fix ie progress\n if (!window.FormData) {\n this.autoUpdateProgress(0, targetItem);\n }\n },\n autoUpdateProgress(_, file) {\n const getPercent = genPercentAdd();\n let curPercent = 0;\n this.clearProgressTimer();\n this.progressTimer = setInterval(() => {\n curPercent = getPercent(curPercent);\n this.onProgress(\n {\n percent: curPercent * 100,\n },\n file,\n );\n }, 200);\n },\n onSuccess(response, file) {\n this.clearProgressTimer();\n try {\n if (typeof response === 'string') {\n response = JSON.parse(response);\n }\n } catch (e) {\n /* do nothing */\n }\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.status = 'done';\n targetItem.response = response;\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n onProgress(e, file) {\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.percent = e.percent;\n this.onChange({\n event: e,\n file: { ...targetItem },\n fileList: this.sFileList,\n });\n },\n onError(error, response, file) {\n this.clearProgressTimer();\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = 'error';\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n handleRemove(file) {\n const { remove } = getOptionProps(this);\n Promise.resolve(typeof remove === 'function' ? remove(file) : remove).then(ret => {\n // Prevent removing file\n if (ret === false) {\n return;\n }\n\n const removedFileList = removeFileItem(file, this.sFileList);\n if (removedFileList) {\n this.onChange({\n file,\n fileList: removedFileList,\n });\n }\n });\n },\n handleManualRemove(file) {\n this.$refs.uploadRef.abort(file);\n file.status = 'removed'; // eslint-disable-line\n this.handleRemove(file);\n },\n onChange(info) {\n if (!hasProp(this, 'fileList')) {\n this.setState({ sFileList: info.fileList });\n }\n this.$emit('change', info);\n },\n onFileDrop(e) {\n this.setState({\n dragState: e.type,\n });\n },\n reBeforeUpload(file, fileList) {\n if (!this.beforeUpload) {\n return true;\n }\n const result = this.beforeUpload(file, fileList);\n if (result === false) {\n this.onChange({\n file,\n fileList: uniqBy(this.sFileList.concat(fileList.map(fileToObject)), item => item.uid),\n });\n return false;\n } else if (result && result.then) {\n return result;\n }\n return true;\n },\n clearProgressTimer() {\n clearInterval(this.progressTimer);\n },\n renderUploadList(locale) {\n const { showUploadList = {}, listType } = getOptionProps(this);\n const { showRemoveIcon, showPreviewIcon } = showUploadList;\n const uploadListProps = {\n props: {\n listType,\n items: this.sFileList,\n showRemoveIcon,\n showPreviewIcon,\n locale: { ...locale, ...this.$props.locale },\n },\n on: {\n remove: this.handleManualRemove,\n },\n };\n if (this.$listeners.preview) {\n uploadListProps.on.preview = this.$listeners.preview;\n }\n return <UploadList {...uploadListProps} />;\n },\n },\n render() {\n const { prefixCls = '', showUploadList, listType, type, disabled } = getOptionProps(this);\n\n const vcUploadProps = {\n props: {\n ...this.$props,\n beforeUpload: this.reBeforeUpload,\n },\n on: {\n // ...this.$listeners,\n start: this.onStart,\n error: this.onError,\n progress: this.onProgress,\n success: this.onSuccess,\n },\n ref: 'uploadRef',\n class: `${prefixCls}-btn`,\n attrs: this.$attrs,\n };\n\n const uploadList = showUploadList ? (\n <LocaleReceiver\n componentName=\"Upload\"\n defaultLocale={defaultLocale.Upload}\n scopedSlots={{ default: this.renderUploadList }}\n />\n ) : null;\n\n const children = this.$slots.default;\n\n if (type === 'drag') {\n const dragCls = classNames(prefixCls, {\n [`${prefixCls}-drag`]: true,\n [`${prefixCls}-drag-uploading`]: this.sFileList.some(file => file.status === 'uploading'),\n [`${prefixCls}-drag-hover`]: this.dragState === 'dragover',\n [`${prefixCls}-disabled`]: disabled,\n });\n return (\n <span>\n <div\n class={dragCls}\n onDrop={this.onFileDrop}\n onDragover={this.onFileDrop}\n onDragleave={this.onFileDrop}\n >\n <VcUpload {...vcUploadProps}>\n <div class={`${prefixCls}-drag-container`}>{children}</div>\n </VcUpload>\n </div>\n {uploadList}\n </span>\n );\n }\n\n const uploadButtonCls = classNames(prefixCls, {\n [`${prefixCls}-select`]: true,\n [`${prefixCls}-select-${listType}`]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n const uploadButton = (\n <div class={uploadButtonCls} style={{ display: children ? '' : 'none' }}>\n <VcUpload {...vcUploadProps}>{children}</VcUpload>\n </div>\n );\n\n if (listType === 'picture-card') {\n return (\n <span>\n {uploadList}\n {uploadButton}\n </span>\n );\n }\n return (\n <span>\n {uploadButton}\n {uploadList}\n </span>\n );\n },\n};\n","import BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps } from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Progress from '../progress';\nimport classNames from 'classnames';\nimport { UploadListProps } from './interface';\n\nconst imageTypes = ['image', 'webp', 'png', 'svg', 'gif', 'jpg', 'jpeg', 'bmp', 'ico'];\n// https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\nconst previewFile = (file, callback) => {\n if (file.type && !imageTypes.includes(file.type)) {\n callback('');\n }\n const reader = new window.FileReader();\n reader.onloadend = () => callback(reader.result);\n reader.readAsDataURL(file);\n};\n\nconst extname = url => {\n if (!url) {\n return '';\n }\n const temp = url.split('/');\n const filename = temp[temp.length - 1];\n const filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [''])[0];\n};\n\nconst isImageUrl = file => {\n if (imageTypes.includes(file.type)) {\n return true;\n }\n const url = file.thumbUrl || file.url;\n const extension = extname(url);\n if (/^data:image\\//.test(url) || /(webp|svg|png|gif|jpg|jpeg|bmp|ico)$/i.test(extension)) {\n return true;\n } else if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n } else if (extension) {\n // other file types which have extension\n return false;\n }\n return true;\n};\n\nexport default {\n name: 'AUploadList',\n mixins: [BaseMixin],\n props: initDefaultProps(UploadListProps, {\n listType: 'text', // or picture\n progressAttr: {\n strokeWidth: 2,\n showInfo: false,\n },\n prefixCls: 'ant-upload',\n showRemoveIcon: true,\n showPreviewIcon: true,\n }),\n updated() {\n this.$nextTick(() => {\n if (this.listType !== 'picture' && this.listType !== 'picture-card') {\n return;\n }\n (this.items || []).forEach(file => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n !window.FileReader ||\n !window.File ||\n !(file.originFileObj instanceof window.File) ||\n file.thumbUrl !== undefined\n ) {\n return;\n }\n /*eslint-disable */\n file.thumbUrl = '';\n /*eslint -enable */\n previewFile(file.originFileObj, previewDataUrl => {\n /*eslint-disable */\n file.thumbUrl = previewDataUrl;\n /*eslint -enable todo */\n // this.forceUpdate()\n });\n });\n });\n },\n methods: {\n handleClose(file) {\n this.$emit('remove', file);\n },\n handlePreview(file, e) {\n const { preview } = this.$listeners;\n if (!preview) {\n return;\n }\n e.preventDefault();\n return this.$emit('preview', file);\n },\n },\n render() {\n const {\n prefixCls,\n items = [],\n listType,\n showPreviewIcon,\n showRemoveIcon,\n locale,\n } = getOptionProps(this);\n const list = items.map(file => {\n let progress;\n let icon = <Icon type={file.status === 'uploading' ? 'loading' : 'paper-clip'} />;\n\n if (listType === 'picture' || listType === 'picture-card') {\n if (listType === 'picture-card' && file.status === 'uploading') {\n icon = <div class={`${prefixCls}-list-item-uploading-text`}>{locale.uploading}</div>;\n } else if (!file.thumbUrl && !file.url) {\n icon = <Icon class={`${prefixCls}-list-item-thumbnail`} type=\"picture\" theme=\"twoTone\" />;\n } else {\n const thumbnail = isImageUrl(file) ? (\n <img src={file.thumbUrl || file.url} alt={file.name} />\n ) : (\n <Icon type=\"file\" class={`${prefixCls}-list-item-icon`} theme=\"twoTone\" />\n );\n icon = (\n <a\n class={`${prefixCls}-list-item-thumbnail`}\n onClick={e => this.handlePreview(file, e)}\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {thumbnail}\n </a>\n );\n }\n }\n\n if (file.status === 'uploading') {\n const progressProps = {\n props: {\n ...this.progressAttr,\n type: 'line',\n percent: file.percent,\n },\n };\n // show loading icon if upload progress listener is disabled\n const loadingProgress = 'percent' in file ? <Progress {...progressProps} /> : null;\n\n progress = (\n <div class={`${prefixCls}-list-item-progress`} key=\"progress\">\n {loadingProgress}\n </div>\n );\n }\n const infoUploadingClass = classNames({\n [`${prefixCls}-list-item`]: true,\n [`${prefixCls}-list-item-${file.status}`]: true,\n });\n const linkProps =\n typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;\n const preview = file.url ? (\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class={`${prefixCls}-list-item-name`}\n title={file.name}\n {...linkProps}\n href={file.url}\n onClick={e => this.handlePreview(file, e)}\n >\n {file.name}\n </a>\n ) : (\n <span\n class={`${prefixCls}-list-item-name`}\n onClick={e => this.handlePreview(file, e)}\n title={file.name}\n >\n {file.name}\n </span>\n );\n const style =\n file.url || file.thumbUrl\n ? undefined\n : {\n pointerEvents: 'none',\n opacity: 0.5,\n };\n const previewIcon = showPreviewIcon ? (\n <a\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={style}\n onClick={e => this.handlePreview(file, e)}\n title={locale.previewFile}\n >\n <Icon type=\"eye-o\" />\n </a>\n ) : null;\n const iconProps = {\n props: {\n type: 'delete',\n title: locale.removeFile,\n },\n on: {\n click: () => {\n this.handleClose(file);\n },\n },\n };\n const iconProps1 = { ...iconProps, ...{ props: { type: 'close' } } };\n const removeIcon = showRemoveIcon ? <Icon {...iconProps} /> : null;\n const removeIconClose = showRemoveIcon ? <Icon {...iconProps1} /> : null;\n const actions =\n listType === 'picture-card' && file.status !== 'uploading' ? (\n <span class={`${prefixCls}-list-item-actions`}>\n {previewIcon}\n {removeIcon}\n </span>\n ) : (\n removeIconClose\n );\n let message;\n if (file.response && typeof file.response === 'string') {\n message = file.response;\n } else {\n message = (file.error && file.error.statusText) || locale.uploadError;\n }\n const iconAndPreview =\n file.status === 'error' ? (\n <Tooltip title={message}>\n {icon}\n {preview}\n </Tooltip>\n ) : (\n <span>\n {icon}\n {preview}\n </span>\n );\n const transitionProps = getTransitionProps('fade');\n return (\n <div class={infoUploadingClass} key={file.uid}>\n <div class={`${prefixCls}-list-item-info`}>{iconAndPreview}</div>\n {actions}\n <transition {...transitionProps}>{progress}</transition>\n </div>\n );\n });\n const listClassNames = classNames({\n [`${prefixCls}-list`]: true,\n [`${prefixCls}-list-${listType}`]: true,\n });\n const animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate';\n const transitionGroupProps = getTransitionProps(`${prefixCls}-${animationDirection}`);\n return (\n <transition-group {...transitionGroupProps} tag=\"div\" class={listClassNames}>\n {list}\n </transition-group>\n );\n },\n};\n","import Upload from './Upload';\nimport Dragger from './Dragger';\n\nexport { UploadProps, UploadListProps, UploadChangeParam } from './interface';\n\nUpload.Dragger = Dragger;\n\n/* istanbul ignore next */\nUpload.install = function(Vue) {\n Vue.component(Upload.name, Upload);\n Vue.component(Dragger.name, Dragger);\n};\n\nexport default Upload;\n","import PropsTypes from '../_util/vue-types';\n\nexport const UploadFileStatus = PropsTypes.oneOf([\n 'error',\n 'success',\n 'done',\n 'uploading',\n 'removed',\n]);\n\n// export const HttpRequestHeader {\n// [key: string]: string;\n// }\n\n// export const UploadFile = PropsTypes.shape({\n// uid: PropsTypes.oneOfType([\n// PropsTypes.string,\n// PropsTypes.number,\n// ]),\n// size: PropsTypes.number,\n// name: PropsTypes.string,\n// filename: PropsTypes.string,\n// lastModified: PropsTypes.number,\n// lastModifiedDate: PropsTypes.any,\n// url: PropsTypes.string,\n// status: UploadFileStatus,\n// percent: PropsTypes.number,\n// thumbUrl: PropsTypes.string,\n// originFileObj: PropsTypes.any,\n// response: PropsTypes.any,\n// error: PropsTypes.any,\n// linkProps: PropsTypes.any,\n// type: PropsTypes.string,\n// }).loose\n\nfunction UploadFile({ uid, name }) {\n if (!uid && uid !== 0) return false;\n if (!['string', 'number'].includes(typeof uid)) return false;\n if (name === '' || typeof name !== 'string') return false;\n return true;\n}\n\nexport const UploadChangeParam = {\n file: PropsTypes.custom(UploadFile),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n event: PropsTypes.object,\n};\n\nexport const ShowUploadListInterface = PropsTypes.shape({\n showRemoveIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n}).loose;\n\nexport const UploadLocale = PropsTypes.shape({\n uploading: PropsTypes.string,\n removeFile: PropsTypes.string,\n uploadError: PropsTypes.string,\n previewFile: PropsTypes.string,\n}).loose;\n\nexport const UploadProps = {\n type: PropsTypes.oneOf(['drag', 'select']),\n name: PropsTypes.string,\n defaultFileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n action: PropsTypes.oneOfType([PropsTypes.string, PropsTypes.func]),\n directory: PropsTypes.bool,\n data: PropsTypes.oneOfType([PropsTypes.object, PropsTypes.func]),\n headers: PropsTypes.object,\n showUploadList: PropsTypes.oneOfType([PropsTypes.bool, ShowUploadListInterface]),\n multiple: PropsTypes.bool,\n accept: PropsTypes.string,\n beforeUpload: PropsTypes.func,\n // onChange: PropsTypes.func,\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // className: PropsTypes.string,\n // onPreview: PropsTypes.func,\n remove: PropsTypes.func,\n supportServerRender: PropsTypes.bool,\n // style: PropsTypes.object,\n disabled: PropsTypes.bool,\n prefixCls: PropsTypes.string,\n customRequest: PropsTypes.func,\n withCredentials: PropsTypes.bool,\n openFileDialogOnClick: PropsTypes.bool,\n locale: UploadLocale,\n height: PropsTypes.number,\n};\n\nexport const UploadState = {\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n dragState: PropsTypes.string,\n};\n\nexport const UploadListProps = {\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // onPreview: PropsTypes.func,\n // onRemove: PropsTypes.func,\n // items: PropsTypes.arrayOf(UploadFile),\n items: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n // items: PropsTypes.any,\n progressAttr: PropsTypes.object,\n prefixCls: PropsTypes.string,\n showRemoveIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n locale: UploadLocale,\n};\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../progress/style';\nimport '../../tooltip/style';\n","// extracted by mini-css-extract-plugin","export function T() {\n return true;\n}\n\n// Fix IE file.status problem\n// via coping a new Object\nexport function fileToObject(file) {\n return {\n ...file,\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file,\n };\n}\n\n/**\n * 生成Progress percent: 0.1 -> 0.98\n * - for ie\n */\nexport function genPercentAdd() {\n let k = 0.1;\n const i = 0.01;\n const end = 0.98;\n return function(s) {\n let start = s;\n if (start >= end) {\n return start;\n }\n\n start += k;\n k = k - i;\n if (k < 0.001) {\n k = 0.001;\n }\n return start;\n };\n}\n\nexport function getFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\n}\n\nexport function removeFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\n if (removed.length === fileList.length) {\n return null;\n }\n return removed;\n}\n","import PropTypes from '../_util/vue-types';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport { isWindow, buffer, isSamePoint } from './util';\nimport { cloneElement } from '../_util/vnode.js';\nimport clonedeep from 'lodash/cloneDeep';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nexport default {\n props: {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(() => window),\n monitorBufferTime: PropTypes.number.def(50),\n monitorWindowResize: PropTypes.bool.def(false),\n disabled: PropTypes.bool.def(false),\n },\n data() {\n this.aligned = false;\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n this.prevProps = { ...this.$props };\n const props = this.$props;\n // if parent ref not attached .... use document.getElementById\n !this.aligned && this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n const prevProps = this.prevProps;\n const props = this.$props;\n let reAlign = false;\n if (!props.disabled) {\n const source = this.$el;\n const sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n const lastElement = getElement(prevProps.target);\n const currentElement = getElement(props.target);\n const lastPoint = getPoint(prevProps.target);\n const currentPoint = getPoint(props.target);\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (\n lastElement !== currentElement || // Element change\n (lastElement && !currentElement && currentPoint) || // Change from element to point\n (lastPoint && currentPoint && currentElement) || // Change from point to element\n (currentPoint && !isSamePoint(lastPoint, currentPoint))\n ) {\n reAlign = true;\n }\n\n // If source element size changed\n const preRect = this.sourceRect || {};\n if (\n !reAlign &&\n source &&\n (preRect.width !== sourceRect.width || preRect.height !== sourceRect.height)\n ) {\n reAlign = true;\n }\n }\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n this.prevProps = { ...this.$props, align: clonedeep(this.$props.align) };\n });\n },\n beforeDestroy() {\n this.stopMonitorWindowResize();\n },\n methods: {\n startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.$props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n },\n\n stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n },\n\n forceAlign() {\n const { disabled, target, align } = this.$props;\n if (!disabled && target) {\n const source = this.$el;\n\n let result;\n const element = getElement(target);\n const point = getPoint(target);\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n this.aligned = true;\n this.$listeners.align && this.$listeners.align(source, result);\n }\n },\n },\n\n render() {\n const { childrenProps } = this.$props;\n const child = this.$slots.default[0];\n if (childrenProps) {\n return cloneElement(child, { props: childrenProps });\n }\n return child;\n },\n};\n","// based on vc-align 2.4.3\nimport Align from './Align';\nexport default Align;\n","export function buffer(fn, ms) {\n let timer;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n","// based on rc-calendar 9.8.2\nimport Calendar from './src/';\nexport default Calendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getComponentFromProp } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport KeyCode from '../../_util/KeyCode';\nimport * as moment from 'moment';\nimport DateTable from './date/DateTable';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport DateInput from './date/DateInput';\nimport enUs from './locale/en_US';\nimport { getTimeConfig, getTodayTime, syncTime } from './util';\nimport { goStartMonth, goEndMonth, goTime } from './util/toTime';\n\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nconst Calendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n // prefixCls: PropTypes.string,\n defaultValue: MomentType,\n value: MomentType,\n selectedValue: MomentType,\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),\n // locale: PropTypes.object,\n showDateInput: PropTypes.bool.def(true),\n showWeekNumber: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n showOk: PropTypes.bool,\n // onSelect: PropTypes.func,\n // onOk: PropTypes.func,\n // onKeyDown: PropTypes.func,\n timePicker: PropTypes.any,\n dateInputPlaceholder: PropTypes.any,\n // onClear: PropTypes.func,\n // onChange: PropTypes.func,\n // onPanelChange: PropTypes.func,\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.any,\n dateRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n clearIcon: PropTypes.any,\n },\n\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n return {\n sMode: this.mode || 'date',\n };\n },\n watch: {\n mode(val) {\n this.setState({ sMode: val });\n },\n },\n methods: {\n onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return undefined;\n }\n const keyCode = event.keyCode;\n // mac\n const ctrlKey = event.ctrlKey || event.metaKey;\n const { disabledDate, sValue: value } = this;\n switch (keyCode) {\n case KeyCode.DOWN:\n this.goTime(1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.UP:\n this.goTime(-1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.LEFT:\n if (ctrlKey) {\n this.goTime(-1, 'years');\n } else {\n this.goTime(-1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n this.goTime(1, 'years');\n } else {\n this.goTime(1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.HOME:\n this.setValue(goStartMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.END:\n this.setValue(goEndMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_DOWN:\n this.goTime(1, 'month');\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_UP:\n this.goTime(-1, 'month');\n event.preventDefault();\n return 1;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(value)) {\n this.onSelect(value, {\n source: 'keyboard',\n });\n }\n event.preventDefault();\n return 1;\n default:\n this.__emit('keydown', event);\n return 1;\n }\n },\n\n onClear() {\n this.onSelect(null);\n this.__emit('clear');\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDate(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onDateInputChange(value) {\n this.onSelect(value, {\n source: 'dateInput',\n });\n },\n onDateTableSelect(value) {\n const { timePicker, sSelectedValue } = this;\n if (!sSelectedValue && timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n const timePickerDefaultValue = timePickerProps.defaultValue;\n if (timePickerDefaultValue) {\n syncTime(timePickerDefaultValue, value);\n }\n }\n this.onSelect(value);\n },\n onToday() {\n const { sValue } = this;\n const now = getTodayTime(sValue);\n this.onSelect(now, {\n source: 'todayButton',\n });\n },\n onPanelChange(value, mode) {\n const { sValue } = this;\n if (!hasProp(this, 'mode')) {\n this.setState({ sMode: mode });\n }\n this.__emit('panelChange', value || sValue, mode);\n },\n getRootDOMNode() {\n return this.$el;\n },\n openTimePicker() {\n this.onPanelChange(null, 'time');\n },\n closeTimePicker() {\n this.onPanelChange(null, 'date');\n },\n goTime(direction, unit) {\n this.setValue(goTime(this.sValue, direction, unit));\n },\n },\n\n render() {\n const {\n locale,\n prefixCls,\n disabledDate,\n dateInputPlaceholder,\n timePicker,\n disabledTime,\n showDateInput,\n renderSidebar,\n sValue,\n sSelectedValue,\n sMode,\n $props: props,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const showTimePicker = sMode === 'time';\n const disabledTimeConfig =\n showTimePicker && disabledTime && timePicker\n ? getTimeConfig(sSelectedValue, disabledTime)\n : null;\n\n let timePickerEle = null;\n\n if (timePicker && showTimePicker) {\n const timePickerOriginProps = getOptionProps(timePicker);\n const timePickerProps = {\n props: {\n showHour: true,\n showSecond: true,\n showMinute: true,\n ...timePickerOriginProps,\n ...disabledTimeConfig,\n value: sSelectedValue,\n disabledTime,\n },\n on: {\n change: this.onDateInputChange,\n },\n };\n\n if (timePickerOriginProps.defaultValue !== undefined) {\n timePickerProps.props.defaultOpenValue = timePickerOriginProps.defaultValue;\n }\n timePickerEle = cloneElement(timePicker, timePickerProps);\n }\n\n const dateInputElement = showDateInput ? (\n <DateInput\n format={this.getFormat()}\n key=\"date-input\"\n value={sValue}\n locale={locale}\n placeholder={dateInputPlaceholder}\n showClear\n disabledTime={disabledTime}\n disabledDate={disabledDate}\n onClear={this.onClear}\n prefixCls={prefixCls}\n selectedValue={sSelectedValue}\n onChange={this.onDateInputChange}\n clearIcon={clearIcon}\n />\n ) : null;\n const children = [\n renderSidebar(),\n <div class={`${prefixCls}-panel`} key=\"panel\">\n {dateInputElement}\n <div class={`${prefixCls}-date-panel`}>\n <CalendarHeader\n locale={locale}\n mode={sMode}\n value={sValue}\n onValueChange={this.setValue}\n onPanelChange={this.onPanelChange}\n showTimePicker={showTimePicker}\n prefixCls={prefixCls}\n />\n {timePicker && showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable\n locale={locale}\n value={sValue}\n selectedValue={sSelectedValue}\n prefixCls={prefixCls}\n dateRender={props.dateRender}\n onSelect={this.onDateTableSelect}\n disabledDate={disabledDate}\n showWeekNumber={props.showWeekNumber}\n />\n </div>\n\n <CalendarFooter\n showOk={props.showOk}\n renderFooter={props.renderFooter}\n locale={locale}\n prefixCls={prefixCls}\n showToday={props.showToday}\n disabledTime={disabledTime}\n showTimePicker={showTimePicker}\n showDateInput={props.showDateInput}\n timePicker={timePicker}\n selectedValue={sSelectedValue}\n value={sValue}\n disabledDate={disabledDate}\n okDisabled={\n props.showOk !== false && (!sSelectedValue || !this.isAllowedDate(sSelectedValue))\n }\n onOk={this.onOk}\n onSelect={this.onSelect}\n onToday={this.onToday}\n onOpenTimePicker={this.openTimePicker}\n onCloseTimePicker={this.closeTimePicker}\n />\n </div>\n </div>,\n ];\n\n return this.renderRoot({\n children,\n class: props.showWeekNumber ? `${prefixCls}-week-number` : '',\n });\n },\n};\n\nexport default Calendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp } from '../../_util/props-util';\nimport DateTable from './date/DateTable';\nimport MonthTable from './month/MonthTable';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport CalendarHeader from './full-calendar/CalendarHeader';\nimport enUs from './locale/en_US';\nconst FullCalendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.string,\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n defaultType: PropTypes.string.def('date'),\n type: PropTypes.string,\n // locale: PropTypes.object,\n // onTypeChange: PropTypes.func,\n fullscreen: PropTypes.bool.def(false),\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n showTypeSwitch: PropTypes.bool.def(true),\n Select: PropTypes.object.isRequired,\n headerComponents: PropTypes.array,\n headerComponent: PropTypes.object, // The whole header component\n headerRender: PropTypes.func,\n showHeader: PropTypes.bool.def(true),\n disabledDate: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n data() {\n let type;\n if (hasProp(this, 'type')) {\n type = this.type;\n } else {\n type = this.defaultType;\n }\n return {\n sType: type,\n };\n },\n watch: {\n type(val) {\n this.setState({\n sType: val,\n });\n },\n },\n methods: {\n onMonthSelect(value) {\n this.onSelect(value, {\n target: 'month',\n });\n },\n setType(type) {\n if (!hasProp(this, 'type')) {\n this.setState({\n sType: type,\n });\n }\n this.__emit('typeChange', type);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n locale,\n prefixCls,\n fullscreen,\n showHeader,\n headerComponent,\n headerRender,\n disabledDate,\n } = props;\n const { sValue: value, sType: type, $listeners } = this;\n\n let header = null;\n if (showHeader) {\n if (headerRender) {\n header = headerRender(value, type, locale);\n } else {\n const TheHeader = headerComponent || CalendarHeader;\n const headerProps = {\n props: {\n ...props,\n prefixCls: `${prefixCls}-full`,\n type,\n value,\n },\n on: {\n ...$listeners,\n typeChange: this.setType,\n valueChange: this.setValue,\n },\n key: 'calendar-header',\n };\n header = <TheHeader {...headerProps} />;\n }\n }\n\n const table =\n type === 'date' ? (\n <DateTable\n dateRender={props.dateCellRender}\n contentRender={props.dateCellContentRender}\n locale={locale}\n prefixCls={prefixCls}\n onSelect={this.onSelect}\n value={value}\n disabledDate={disabledDate}\n />\n ) : (\n <MonthTable\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n locale={locale}\n onSelect={this.onMonthSelect}\n prefixCls={`${prefixCls}-month-panel`}\n value={value}\n disabledDate={disabledDate}\n />\n );\n\n const children = [\n header,\n <div key=\"calendar-body\" class={`${prefixCls}-calendar-body`}>\n {table}\n </div>,\n ];\n\n const className = [`${prefixCls}-full`];\n\n if (fullscreen) {\n className.push(`${prefixCls}-fullscreen`);\n }\n\n return this.renderRoot({\n children,\n class: className.join(' '),\n });\n },\n};\n\nexport default FullCalendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport KeyCode from '../../_util/KeyCode';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport enUs from './locale/en_US';\nconst MonthCalendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.string,\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n disabledDate: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n return { mode: 'month' };\n },\n methods: {\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const ctrlKey = event.ctrlKey || event.metaKey;\n const stateValue = this.sValue;\n const { disabledDate } = this;\n let value = stateValue;\n switch (keyCode) {\n case KeyCode.DOWN:\n value = stateValue.clone();\n value.add(3, 'months');\n break;\n case KeyCode.UP:\n value = stateValue.clone();\n value.add(-3, 'months');\n break;\n case KeyCode.LEFT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(-1, 'years');\n } else {\n value.add(-1, 'months');\n }\n break;\n case KeyCode.RIGHT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(1, 'years');\n } else {\n value.add(1, 'months');\n }\n break;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(stateValue)) {\n this.onSelect(stateValue);\n }\n event.preventDefault();\n return 1;\n default:\n return undefined;\n }\n if (value !== stateValue) {\n this.setValue(value);\n event.preventDefault();\n return 1;\n }\n },\n\n handlePanelChange(_, mode) {\n if (mode !== 'date') {\n this.setState({ mode });\n }\n },\n },\n\n render() {\n const { mode, sValue: value, $props: props, $scopedSlots } = this;\n const { prefixCls, locale, disabledDate } = props;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender;\n const monthCellContentRender =\n this.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const renderFooter = this.renderFooter || $scopedSlots.renderFooter;\n const children = (\n <div class={`${prefixCls}-month-calendar-content`}>\n <div class={`${prefixCls}-month-header-wrap`}>\n <CalendarHeader\n prefixCls={prefixCls}\n mode={mode}\n value={value}\n locale={locale}\n disabledMonth={disabledDate}\n monthCellRender={monthCellRender}\n monthCellContentRender={monthCellContentRender}\n onMonthSelect={this.onSelect}\n onValueChange={this.setValue}\n onPanelChange={this.handlePanelChange}\n />\n </div>\n <CalendarFooter prefixCls={prefixCls} renderFooter={renderFooter} />\n </div>\n );\n return this.renderRoot({\n class: `${props.prefixCls}-month-calendar`,\n children,\n });\n },\n};\n\nexport default MonthCalendar;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getEvents, getStyle } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport createChainedFunction from '../../_util/createChainedFunction';\nimport KeyCode from '../../_util/KeyCode';\nimport placements from './picker/placements';\nimport Trigger from '../../vc-trigger';\nimport moment from 'moment';\nimport { setTimeout } from 'timers';\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nconst Picker = {\n props: {\n animation: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n disabled: PropTypes.bool,\n transitionName: PropTypes.string,\n format: PropTypes.string,\n // onChange: PropTypes.func,\n // onOpenChange: PropTypes.func,\n children: PropTypes.func,\n getCalendarContainer: PropTypes.func,\n calendar: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool.def(false),\n prefixCls: PropTypes.string.def('rc-calendar-picker'),\n placement: PropTypes.any.def('bottomLeft'),\n value: PropTypes.oneOfType([MomentType, PropTypes.arrayOf(MomentType)]),\n defaultValue: PropTypes.oneOfType([MomentType, PropTypes.arrayOf(MomentType)]),\n align: PropTypes.object.def({}),\n dropdownClassName: PropTypes.string,\n },\n mixins: [BaseMixin],\n\n data() {\n const props = this.$props;\n let open;\n if (hasProp(this, 'open')) {\n open = props.open;\n } else {\n open = props.defaultOpen;\n }\n const value = props.value || props.defaultValue;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n this.setState({\n sOpen: val,\n });\n },\n },\n mounted() {\n this.preSOpen = this.sOpen;\n },\n updated() {\n if (!this.preSOpen && this.sOpen) {\n // setTimeout is for making sure saveCalendarRef happen before focusCalendar\n this.focusTimeout = setTimeout(this.focusCalendar, 0);\n }\n this.preSOpen = this.sOpen;\n },\n\n beforeDestroy() {\n clearTimeout(this.focusTimeout);\n },\n methods: {\n onCalendarKeyDown(event) {\n if (event.keyCode === KeyCode.ESC) {\n event.stopPropagation();\n this.closeCalendar(this.focus);\n }\n },\n\n onCalendarSelect(value, cause = {}) {\n const props = this.$props;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n const calendarProps = getOptionProps(props.calendar);\n if (\n cause.source === 'keyboard' ||\n (!calendarProps.timePicker && cause.source !== 'dateInput') ||\n cause.source === 'todayButton'\n ) {\n this.closeCalendar(this.focus);\n }\n this.__emit('change', value);\n },\n\n onKeyDown(event) {\n if (event.keyCode === KeyCode.DOWN && !this.sOpen) {\n this.openCalendar();\n event.preventDefault();\n }\n },\n\n onCalendarOk() {\n this.closeCalendar(this.focus);\n },\n\n onCalendarClear() {\n this.closeCalendar(this.focus);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n getCalendarElement() {\n const props = this.$props;\n const calendarProps = getOptionProps(props.calendar);\n const calendarEvents = getEvents(props.calendar);\n const { sValue: value } = this;\n const defaultValue = value;\n const extraProps = {\n ref: 'calendarInstance',\n props: {\n defaultValue: defaultValue || calendarProps.defaultValue,\n selectedValue: value,\n },\n on: {\n keydown: this.onCalendarKeyDown,\n ok: createChainedFunction(calendarEvents.ok, this.onCalendarOk),\n select: createChainedFunction(calendarEvents.select, this.onCalendarSelect),\n clear: createChainedFunction(calendarEvents.clear, this.onCalendarClear),\n },\n };\n\n return cloneElement(props.calendar, extraProps);\n },\n\n setOpen(open, callback) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState(\n {\n sOpen: open,\n },\n callback,\n );\n }\n this.__emit('openChange', open);\n }\n },\n\n openCalendar(callback) {\n this.setOpen(true, callback);\n },\n\n closeCalendar(callback) {\n this.setOpen(false, callback);\n },\n\n focus() {\n if (!this.sOpen) {\n this.$el.focus();\n }\n },\n\n focusCalendar() {\n if (this.sOpen && this.calendarInstance && this.calendarInstance.componentInstance) {\n this.calendarInstance.componentInstance.focus();\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const style = getStyle(this);\n const {\n prefixCls,\n placement,\n getCalendarContainer,\n align,\n animation,\n disabled,\n dropdownClassName,\n transitionName,\n } = props;\n const { sValue, sOpen } = this;\n const children = this.$scopedSlots.default;\n const childrenState = {\n value: sValue,\n open: sOpen,\n };\n if (this.sOpen || !this.calendarInstance) {\n this.calendarInstance = this.getCalendarElement();\n }\n\n return (\n <Trigger\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled && !sOpen ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getCalendarContainer}\n popupStyle={style}\n popupAnimation={animation}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n prefixCls={prefixCls}\n popupClassName={dropdownClassName}\n >\n <template slot=\"popup\">{this.calendarInstance}</template>\n {cloneElement(children(childrenState, props), { on: { keydown: this.onKeyDown } })}\n </Trigger>\n );\n },\n};\n\nexport default Picker;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, mergeProps, getComponentFromProp } from '../../_util/props-util';\nimport moment from 'moment';\nimport KeyCode from '../../_util/KeyCode';\nimport CalendarPart from './range-calendar/CalendarPart';\nimport TodayButton from './calendar/TodayButton';\nimport OkButton from './calendar/OkButton';\nimport TimePickerButton from './calendar/TimePickerButton';\nimport CommonMixin from './mixin/CommonMixin';\nimport enUs from './locale/en_US';\nimport { syncTime, getTodayTime, isAllowedDate } from './util/';\nimport { goTime, goStartMonth, goEndMonth, includesTime } from './util/toTime';\n\nfunction noop() {}\n\nfunction isEmptyArray(arr) {\n return Array.isArray(arr) && (arr.length === 0 || arr.every(i => !i));\n}\n\nfunction isArraysEqual(a, b) {\n if (a === b) return true;\n if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {\n return false;\n }\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction getValueFromSelectedValue(selectedValue) {\n const [start, end] = selectedValue;\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction normalizeAnchor(props, init) {\n const selectedValue = props.selectedValue || (init && props.defaultSelectedValue);\n const value = props.value || (init && props.defaultValue);\n const normalizedValue = value\n ? getValueFromSelectedValue(value)\n : getValueFromSelectedValue(selectedValue);\n return !isEmptyArray(normalizedValue)\n ? normalizedValue\n : init && [moment(), moment().add(1, 'months')];\n}\n\nfunction generateOptions(length, extraOptionGen) {\n const arr = extraOptionGen ? extraOptionGen().concat() : [];\n for (let value = 0; value < length; value++) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nfunction onInputSelect(direction, value) {\n if (!value) {\n return;\n }\n const originalValue = this.sSelectedValue;\n const selectedValue = originalValue.concat();\n const index = direction === 'left' ? 0 : 1;\n selectedValue[index] = value;\n if (selectedValue[0] && this.compare(selectedValue[0], selectedValue[1]) > 0) {\n selectedValue[1 - index] = this.showTimePicker ? selectedValue[index] : undefined;\n }\n this.__emit('inputSelect', selectedValue);\n this.fireSelectValueChange(selectedValue);\n}\n\nconst RangeCalendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n dateInputPlaceholder: PropTypes.any,\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n mode: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year', 'decade'])),\n showDateInput: PropTypes.bool.def(true),\n timePicker: PropTypes.any,\n showOk: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n defaultSelectedValue: PropTypes.array.def([]),\n selectedValue: PropTypes.array,\n showClear: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n // locale: PropTypes.object,\n // onChange: PropTypes.func,\n // onSelect: PropTypes.func,\n // onValueChange: PropTypes.func,\n // onHoverChange: PropTypes.func,\n // onPanelChange: PropTypes.func,\n format: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n // onClear: PropTypes.func,\n type: PropTypes.any.def('both'),\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.func.def(noop),\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n dateRender: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n\n mixins: [BaseMixin, CommonMixin],\n\n data() {\n const props = this.$props;\n const selectedValue = props.selectedValue || props.defaultSelectedValue;\n const value = normalizeAnchor(props, 1);\n return {\n sSelectedValue: selectedValue,\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n sHoverValue: props.hoverValue || [],\n sValue: value,\n showTimePicker: false,\n sMode: props.mode || ['date', 'date'],\n };\n },\n watch: {\n value() {\n const newState = {};\n newState.sValue = normalizeAnchor(this.$props, 0);\n this.setState(newState);\n },\n hoverValue(val) {\n if (!isArraysEqual(this.sHoverValue, val)) {\n this.setState({ sHoverValue: val });\n }\n },\n selectedValue(val) {\n const newState = {};\n newState.sSelectedValue = val;\n newState.prevSelectedValue = val;\n this.setState(newState);\n },\n mode(val) {\n if (!isArraysEqual(this.sMode, val)) {\n this.setState({ sMode: val });\n }\n },\n },\n\n methods: {\n onDatePanelEnter() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange(this.sSelectedValue.concat());\n }\n },\n\n onDatePanelLeave() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange([]);\n }\n },\n\n onSelect(value) {\n const { type, sSelectedValue, prevSelectedValue, firstSelectedValue } = this;\n let nextSelectedValue;\n if (type === 'both') {\n if (!firstSelectedValue) {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n } else if (this.compare(firstSelectedValue, value) < 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [firstSelectedValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n syncTime(prevSelectedValue[1], firstSelectedValue);\n nextSelectedValue = [value, firstSelectedValue];\n }\n } else if (type === 'start') {\n syncTime(prevSelectedValue[0], value);\n const endValue = sSelectedValue[1];\n nextSelectedValue =\n endValue && this.compare(endValue, value) > 0 ? [value, endValue] : [value];\n } else {\n // type === 'end'\n const startValue = sSelectedValue[0];\n if (startValue && this.compare(startValue, value) <= 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [startValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n }\n }\n\n this.fireSelectValueChange(nextSelectedValue);\n },\n\n onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return;\n }\n\n const { keyCode } = event;\n const ctrlKey = event.ctrlKey || event.metaKey;\n\n const {\n sSelectedValue: selectedValue,\n sHoverValue: hoverValue,\n firstSelectedValue,\n sValue: value, // Value is used for `CalendarPart` current page\n } = this.$data;\n const { disabledDate } = this.$props;\n\n // Update last time of the picker\n const updateHoverPoint = func => {\n // Change hover to make focus in UI\n let currentHoverTime;\n let nextHoverTime;\n let nextHoverValue;\n\n if (!firstSelectedValue) {\n currentHoverTime = hoverValue[0] || selectedValue[0] || value[0] || moment();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = [nextHoverTime];\n this.fireHoverValueChange(nextHoverValue);\n } else {\n if (hoverValue.length === 1) {\n currentHoverTime = hoverValue[0].clone();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n } else {\n currentHoverTime = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n }\n }\n\n // Find origin hover time on value index\n if (nextHoverValue.length >= 2) {\n const miss = nextHoverValue.some(ht => !includesTime(value, ht, 'month'));\n if (miss) {\n const newValue = nextHoverValue.slice().sort((t1, t2) => t1.valueOf() - t2.valueOf());\n if (newValue[0].isSame(newValue[1], 'month')) {\n newValue[1] = newValue[0].clone().add(1, 'month');\n }\n this.fireValueChange(newValue);\n }\n } else if (nextHoverValue.length === 1) {\n // If only one value, let's keep the origin panel\n let oriValueIndex = value.findIndex(time => time.isSame(currentHoverTime, 'month'));\n if (oriValueIndex === -1) oriValueIndex = 0;\n\n if (value.every(time => !time.isSame(nextHoverTime, 'month'))) {\n const newValue = value.slice();\n newValue[oriValueIndex] = nextHoverTime.clone();\n this.fireValueChange(newValue);\n }\n }\n\n event.preventDefault();\n\n return nextHoverTime;\n };\n\n switch (keyCode) {\n case KeyCode.DOWN:\n updateHoverPoint(time => goTime(time, 1, 'weeks'));\n return;\n case KeyCode.UP:\n updateHoverPoint(time => goTime(time, -1, 'weeks'));\n return;\n case KeyCode.LEFT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, -1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, -1, 'days'));\n }\n return;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, 1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, 1, 'days'));\n }\n return;\n case KeyCode.HOME:\n updateHoverPoint(time => goStartMonth(time));\n return;\n case KeyCode.END:\n updateHoverPoint(time => goEndMonth(time));\n return;\n case KeyCode.PAGE_DOWN:\n updateHoverPoint(time => goTime(time, 1, 'month'));\n return;\n case KeyCode.PAGE_UP:\n updateHoverPoint(time => goTime(time, -1, 'month'));\n return;\n case KeyCode.ENTER: {\n let lastValue;\n if (hoverValue.length === 0) {\n lastValue = updateHoverPoint(time => time);\n } else if (hoverValue.length === 1) {\n lastValue = hoverValue[0];\n } else {\n lastValue = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n }\n if (lastValue && (!disabledDate || !disabledDate(lastValue))) {\n this.onSelect(lastValue);\n }\n event.preventDefault();\n return;\n }\n default:\n this.__emit('keydown', event);\n }\n },\n\n onDayHover(value) {\n let hoverValue = [];\n const { sSelectedValue, firstSelectedValue, type } = this;\n if (type === 'start' && sSelectedValue[1]) {\n hoverValue =\n this.compare(value, sSelectedValue[1]) < 0 ? [value, sSelectedValue[1]] : [value];\n } else if (type === 'end' && sSelectedValue[0]) {\n hoverValue = this.compare(value, sSelectedValue[0]) > 0 ? [sSelectedValue[0], value] : [];\n } else {\n if (!firstSelectedValue) {\n if (this.sHoverValue.length) {\n this.setState({ sHoverValue: [] });\n }\n return hoverValue;\n }\n hoverValue =\n this.compare(value, firstSelectedValue) < 0\n ? [value, firstSelectedValue]\n : [firstSelectedValue, value];\n }\n this.fireHoverValueChange(hoverValue);\n return hoverValue;\n },\n\n onToday() {\n const startValue = getTodayTime(this.sValue[0]);\n const endValue = startValue.clone().add(1, 'months');\n this.setState({ sValue: [startValue, endValue] });\n },\n\n onOpenTimePicker() {\n this.setState({\n showTimePicker: true,\n });\n },\n onCloseTimePicker() {\n this.setState({\n showTimePicker: false,\n });\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDateAndTime(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onStartInputSelect(...oargs) {\n const args = ['left'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onEndInputSelect(...oargs) {\n const args = ['right'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onStartValueChange(leftValue) {\n const value = [...this.sValue];\n value[0] = leftValue;\n return this.fireValueChange(value);\n },\n\n onEndValueChange(rightValue) {\n const value = [...this.sValue];\n value[1] = rightValue;\n return this.fireValueChange(value);\n },\n\n onStartPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [mode, sMode[1]];\n const newValue = [value || sValue[0], sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n if (!hasProp(this, 'mode')) {\n this.setState({\n sMode: newMode,\n });\n }\n },\n\n onEndPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [sMode[0], mode];\n const newValue = [sValue[0], value || sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n if (!hasProp(this, 'mode')) {\n this.setState({\n sMode: newMode,\n });\n }\n },\n\n getStartValue() {\n let value = this.sValue[0];\n const selectedValue = this.sSelectedValue;\n // keep selectedTime when select date\n if (selectedValue[0] && this.timePicker) {\n value = value.clone();\n syncTime(selectedValue[0], value);\n }\n if (this.showTimePicker && selectedValue[0]) {\n return selectedValue[0];\n }\n return value;\n },\n\n getEndValue() {\n const { sValue, sSelectedValue, showTimePicker } = this;\n const endValue = sValue[1] ? sValue[1].clone() : sValue[0].clone().add(1, 'month');\n // keep selectedTime when select date\n if (sSelectedValue[1] && this.timePicker) {\n syncTime(sSelectedValue[1], endValue);\n }\n if (showTimePicker) {\n return sSelectedValue[1] ? sSelectedValue[1] : this.getStartValue();\n }\n return endValue;\n },\n // get disabled hours for second picker\n getEndDisableTime() {\n const { sSelectedValue, sValue, disabledTime } = this;\n const userSettingDisabledTime = disabledTime(sSelectedValue, 'end') || {};\n const startValue = (sSelectedValue && sSelectedValue[0]) || sValue[0].clone();\n // if startTime and endTime is same day..\n // the second time picker will not able to pick time before first time picker\n if (!sSelectedValue[1] || startValue.isSame(sSelectedValue[1], 'day')) {\n const hours = startValue.hour();\n const minutes = startValue.minute();\n const second = startValue.second();\n let { disabledHours, disabledMinutes, disabledSeconds } = userSettingDisabledTime;\n const oldDisabledMinutes = disabledMinutes ? disabledMinutes() : [];\n const olddisabledSeconds = disabledSeconds ? disabledSeconds() : [];\n disabledHours = generateOptions(hours, disabledHours);\n disabledMinutes = generateOptions(minutes, disabledMinutes);\n disabledSeconds = generateOptions(second, disabledSeconds);\n return {\n disabledHours() {\n return disabledHours;\n },\n disabledMinutes(hour) {\n if (hour === hours) {\n return disabledMinutes;\n }\n return oldDisabledMinutes;\n },\n disabledSeconds(hour, minute) {\n if (hour === hours && minute === minutes) {\n return disabledSeconds;\n }\n return olddisabledSeconds;\n },\n };\n }\n return userSettingDisabledTime;\n },\n\n isAllowedDateAndTime(selectedValue) {\n return (\n isAllowedDate(selectedValue[0], this.disabledDate, this.disabledStartTime) &&\n isAllowedDate(selectedValue[1], this.disabledDate, this.disabledEndTime)\n );\n },\n\n isMonthYearPanelShow(mode) {\n return ['month', 'year', 'decade'].indexOf(mode) > -1;\n },\n\n hasSelectedValue() {\n const { sSelectedValue } = this;\n return !!sSelectedValue[1] && !!sSelectedValue[0];\n },\n\n compare(v1, v2) {\n if (this.timePicker) {\n return v1.diff(v2);\n }\n return v1.diff(v2, 'days');\n },\n\n fireSelectValueChange(selectedValue, direct) {\n const { timePicker, prevSelectedValue } = this;\n if (timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n if (timePickerProps.defaultValue) {\n const timePickerDefaultValue = timePickerProps.defaultValue;\n if (!prevSelectedValue[0] && selectedValue[0]) {\n syncTime(timePickerDefaultValue[0], selectedValue[0]);\n }\n if (!prevSelectedValue[1] && selectedValue[1]) {\n syncTime(timePickerDefaultValue[1], selectedValue[1]);\n }\n }\n }\n // 尚未选择过时间,直接输入的话\n if (!this.sSelectedValue[0] || !this.sSelectedValue[1]) {\n const startValue = selectedValue[0] || moment();\n const endValue = selectedValue[1] || startValue.clone().add(1, 'months');\n this.setState({\n sSelectedValue: selectedValue,\n sValue:\n selectedValue && selectedValue.length === 2\n ? getValueFromSelectedValue([startValue, endValue])\n : this.sValue,\n });\n }\n\n if (selectedValue[0] && !selectedValue[1]) {\n this.setState({ firstSelectedValue: selectedValue[0] });\n this.fireHoverValueChange(selectedValue.concat());\n }\n this.__emit('change', selectedValue);\n if (direct || (selectedValue[0] && selectedValue[1])) {\n this.setState({\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n });\n this.fireHoverValueChange([]);\n this.__emit('select', selectedValue);\n }\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n },\n\n fireValueChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('valueChange', value);\n },\n\n fireHoverValueChange(hoverValue) {\n if (!hasProp(this, 'hoverValue')) {\n this.setState({ sHoverValue: hoverValue });\n }\n this.__emit('hoverChange', hoverValue);\n },\n\n clear() {\n this.fireSelectValueChange([], true);\n this.__emit('clear');\n },\n\n disabledStartTime(time) {\n return this.disabledTime(time, 'start');\n },\n\n disabledEndTime(time) {\n return this.disabledTime(time, 'end');\n },\n\n disabledStartMonth(month) {\n const { sValue } = this;\n return month.isSameOrAfter(sValue[1], 'month');\n },\n\n disabledEndMonth(month) {\n const { sValue } = this;\n return month.isSameOrBefore(sValue[0], 'month');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n dateInputPlaceholder,\n timePicker,\n showOk,\n locale,\n showClear,\n showToday,\n type,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { sHoverValue, sSelectedValue, sMode, showTimePicker, sValue, $listeners } = this;\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n [`${prefixCls}-range`]: 1,\n [`${prefixCls}-show-time-picker`]: showTimePicker,\n [`${prefixCls}-week-number`]: props.showWeekNumber,\n };\n const baseProps = {\n props,\n on: $listeners,\n };\n const newProps = {\n props: {\n selectedValue: sSelectedValue,\n },\n on: {\n select: this.onSelect,\n dayHover:\n (type === 'start' && sSelectedValue[1]) ||\n (type === 'end' && sSelectedValue[0]) ||\n !!sHoverValue.length\n ? this.onDayHover\n : noop,\n },\n };\n\n let placeholder1;\n let placeholder2;\n\n if (dateInputPlaceholder) {\n if (Array.isArray(dateInputPlaceholder)) {\n [placeholder1, placeholder2] = dateInputPlaceholder;\n } else {\n placeholder1 = placeholder2 = dateInputPlaceholder;\n }\n }\n const showOkButton = showOk === true || (showOk !== false && !!timePicker);\n const cls = {\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-range-bottom`]: true,\n [`${prefixCls}-footer-show-ok`]: showOkButton,\n };\n\n const startValue = this.getStartValue();\n const endValue = this.getEndValue();\n const todayTime = getTodayTime(startValue);\n const thisMonth = todayTime.month();\n const thisYear = todayTime.year();\n const isTodayInView =\n (startValue.year() === thisYear && startValue.month() === thisMonth) ||\n (endValue.year() === thisYear && endValue.month() === thisMonth);\n const nextMonthOfStart = startValue.clone().add(1, 'months');\n const isClosestMonths =\n nextMonthOfStart.year() === endValue.year() && nextMonthOfStart.month() === endValue.month();\n const leftPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\n direction: 'left',\n disabledTime: this.disabledStartTime,\n disabledMonth: this.disabledStartMonth,\n format: this.getFormat(),\n value: startValue,\n mode: sMode[0],\n placeholder: placeholder1,\n showDateInput: this.showDateInput,\n timePicker: timePicker,\n showTimePicker: showTimePicker,\n enablePrev: true,\n enableNext: !isClosestMonths || this.isMonthYearPanelShow(sMode[1]),\n clearIcon,\n },\n on: {\n inputSelect: this.onStartInputSelect,\n valueChange: this.onStartValueChange,\n panelChange: this.onStartPanelChange,\n },\n });\n const rightPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\n direction: 'right',\n format: this.getFormat(),\n timePickerDisabledTime: this.getEndDisableTime(),\n placeholder: placeholder2,\n value: endValue,\n mode: sMode[1],\n showDateInput: this.showDateInput,\n timePicker: timePicker,\n showTimePicker: showTimePicker,\n disabledTime: this.disabledEndTime,\n disabledMonth: this.disabledEndMonth,\n enablePrev: !isClosestMonths || this.isMonthYearPanelShow(sMode[0]),\n enableNext: true,\n clearIcon,\n },\n on: {\n inputSelect: this.onEndInputSelect,\n valueChange: this.onEndValueChange,\n panelChange: this.onEndPanelChange,\n },\n });\n let TodayButtonNode = null;\n if (showToday) {\n const todayButtonProps = mergeProps(baseProps, {\n props: {\n disabled: isTodayInView,\n value: sValue[0],\n text: locale.backToToday,\n },\n on: {\n today: this.onToday,\n },\n });\n TodayButtonNode = <TodayButton key=\"todayButton\" {...todayButtonProps} />;\n }\n\n let TimePickerButtonNode = null;\n if (props.timePicker) {\n const timePickerButtonProps = mergeProps(baseProps, {\n props: {\n showTimePicker: showTimePicker,\n timePickerDisabled: !this.hasSelectedValue() || sHoverValue.length,\n },\n on: {\n openTimePicker: this.onOpenTimePicker,\n closeTimePicker: this.onCloseTimePicker,\n },\n });\n TimePickerButtonNode = <TimePickerButton key=\"timePickerButton\" {...timePickerButtonProps} />;\n }\n\n let OkButtonNode = null;\n if (showOkButton) {\n const okButtonProps = mergeProps(baseProps, {\n props: {\n okDisabled:\n !this.isAllowedDateAndTime(sSelectedValue) ||\n !this.hasSelectedValue() ||\n sHoverValue.length,\n },\n on: {\n ok: this.onOk,\n },\n });\n OkButtonNode = <OkButton key=\"okButtonNode\" {...okButtonProps} />;\n }\n const extraFooter = this.renderFooter();\n return (\n <div ref=\"rootInstance\" class={className} tabIndex=\"0\" onKeydown={this.onKeyDown}>\n {props.renderSidebar()}\n <div class={`${prefixCls}-panel`}>\n {showClear && sSelectedValue[0] && sSelectedValue[1] ? (\n <a role=\"button\" title={locale.clear} onClick={this.clear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n <div\n class={`${prefixCls}-date-panel`}\n onMouseleave={type !== 'both' ? this.onDatePanelLeave : noop}\n onMouseenter={type !== 'both' ? this.onDatePanelEnter : noop}\n >\n <CalendarPart {...leftPartProps} />\n <span class={`${prefixCls}-range-middle`}>~</span>\n <CalendarPart {...rightPartProps} />\n </div>\n <div class={cls}>\n {showToday || props.timePicker || showOkButton || extraFooter ? (\n <div class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {TodayButtonNode}\n {TimePickerButtonNode}\n {OkButtonNode}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default RangeCalendar;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps } from '../../../_util/props-util';\nimport TodayButton from './TodayButton';\nimport OkButton from './OkButton';\nimport TimePickerButton from './TimePickerButton';\n\nconst CalendarFooter = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n showDateInput: PropTypes.bool,\n disabledTime: PropTypes.any,\n timePicker: PropTypes.any,\n selectedValue: PropTypes.any,\n showOk: PropTypes.bool,\n // onSelect: PropTypes.func,\n value: PropTypes.object,\n renderFooter: PropTypes.func,\n defaultValue: PropTypes.object,\n locale: PropTypes.object,\n showToday: PropTypes.bool,\n disabledDate: PropTypes.func,\n showTimePicker: PropTypes.bool,\n okDisabled: PropTypes.bool,\n },\n methods: {\n onSelect(value) {\n this.__emit('select', value);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { $listeners } = this;\n const { value, prefixCls, showOk, timePicker, renderFooter, showToday } = props;\n let footerEl = null;\n const extraFooter = renderFooter();\n if (showToday || timePicker || extraFooter) {\n const btnProps = {\n props: {\n ...props,\n value: value,\n },\n on: $listeners,\n };\n let nowEl = null;\n if (showToday) {\n nowEl = <TodayButton key=\"todayButton\" {...btnProps} />;\n }\n delete btnProps.props.value;\n let okBtn = null;\n if (showOk === true || (showOk !== false && !!timePicker)) {\n okBtn = <OkButton key=\"okButton\" {...btnProps} />;\n }\n let timePickerBtn = null;\n if (timePicker) {\n timePickerBtn = <TimePickerButton key=\"timePickerButton\" {...btnProps} />;\n }\n\n let footerBtn;\n if (nowEl || timePickerBtn || okBtn || extraFooter) {\n footerBtn = (\n <span class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {nowEl}\n {timePickerBtn}\n {okBtn}\n </span>\n );\n }\n const cls = {\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-footer-show-ok`]: !!okBtn,\n };\n footerEl = <div class={cls}>{footerBtn}</div>;\n }\n return footerEl;\n },\n};\n\nexport default CalendarFooter;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps } from '../../../_util/props-util';\nimport MonthPanel from '../month/MonthPanel';\nimport YearPanel from '../year/YearPanel';\nimport DecadePanel from '../decade/DecadePanel';\nfunction noop() {}\nfunction goMonth(direction) {\n const next = this.value.clone();\n next.add(direction, 'months');\n this.__emit('valueChange', next);\n}\n\nfunction goYear(direction) {\n const next = this.value.clone();\n next.add(direction, 'years');\n this.__emit('valueChange', next);\n}\n\nfunction showIf(condition, el) {\n return condition ? el : null;\n}\n\nconst CalendarHeader = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onValueChange: PropTypes.func,\n showTimePicker: PropTypes.bool,\n // onPanelChange: PropTypes.func,\n locale: PropTypes.object,\n enablePrev: PropTypes.any.def(1),\n enableNext: PropTypes.any.def(1),\n disabledMonth: PropTypes.func,\n mode: PropTypes.any,\n monthCellRender: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n },\n data() {\n this.nextMonth = goMonth.bind(this, 1);\n this.previousMonth = goMonth.bind(this, -1);\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return {\n yearPanelReferer: null,\n };\n },\n methods: {\n onMonthSelect(value) {\n this.__emit('panelChange', value, 'date');\n if (this.$listeners.monthSelect) {\n this.__emit('monthSelect', value);\n } else {\n this.__emit('valueChange', value);\n }\n },\n\n onYearSelect(value) {\n const referer = this.yearPanelReferer;\n this.setState({ yearPanelReferer: null });\n this.__emit('panelChange', value, referer);\n this.__emit('valueChange', value);\n },\n\n onDecadeSelect(value) {\n this.__emit('panelChange', value, 'year');\n this.__emit('valueChange', value);\n },\n\n monthYearElement(showTimePicker) {\n const props = this.$props;\n const prefixCls = props.prefixCls;\n const locale = props.locale;\n const value = props.value;\n const localeData = value.localeData();\n const monthBeforeYear = locale.monthBeforeYear;\n const selectClassName = `${prefixCls}-${monthBeforeYear ? 'my-select' : 'ym-select'}`;\n const timeClassName = showTimePicker ? ` ${prefixCls}-time-status` : '';\n const year = (\n <a\n class={`${prefixCls}-year-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : () => this.showYearPanel('date')}\n title={showTimePicker ? null : locale.yearSelect}\n >\n {value.format(locale.yearFormat)}\n </a>\n );\n const month = (\n <a\n class={`${prefixCls}-month-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : this.showMonthPanel}\n title={showTimePicker ? null : locale.monthSelect}\n >\n {locale.monthFormat ? value.format(locale.monthFormat) : localeData.monthsShort(value)}\n </a>\n );\n let day;\n if (showTimePicker) {\n day = (\n <a class={`${prefixCls}-day-select${timeClassName}`} role=\"button\">\n {value.format(locale.dayFormat)}\n </a>\n );\n }\n let my = [];\n if (monthBeforeYear) {\n my = [month, day, year];\n } else {\n my = [year, month, day];\n }\n return <span class={selectClassName}>{my}</span>;\n },\n\n showMonthPanel() {\n // null means that users' interaction doesn't change value\n this.__emit('panelChange', null, 'month');\n },\n\n showYearPanel(referer) {\n this.setState({ yearPanelReferer: referer });\n this.__emit('panelChange', null, 'year');\n },\n\n showDecadePanel() {\n this.__emit('panelChange', null, 'decade');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n locale,\n mode,\n value,\n showTimePicker,\n enableNext,\n enablePrev,\n disabledMonth,\n } = props;\n\n let panel = null;\n if (mode === 'month') {\n panel = (\n <MonthPanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onMonthSelect}\n onYearPanelShow={() => this.showYearPanel('month')}\n disabledDate={disabledMonth}\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n />\n );\n }\n if (mode === 'year') {\n panel = (\n <YearPanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onYearSelect}\n onDecadePanelShow={this.showDecadePanel}\n />\n );\n }\n if (mode === 'decade') {\n panel = (\n <DecadePanel\n locale={locale}\n defaultValue={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onDecadeSelect}\n />\n );\n }\n\n return (\n <div class={`${prefixCls}-header`}>\n <div style={{ position: 'relative' }}>\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />,\n )}\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-month-btn`}\n role=\"button\"\n onClick={this.previousMonth}\n title={locale.previousMonth}\n />,\n )}\n {this.monthYearElement(showTimePicker)}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-month-btn`}\n onClick={this.nextMonth}\n title={locale.nextMonth}\n />,\n )}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-year-btn`}\n onClick={this.nextYear}\n title={locale.nextYear}\n />,\n )}\n </div>\n {panel}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","function noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, okDisabled } = props;\n const { ok = noop } = listeners;\n let className = `${prefixCls}-ok-btn`;\n if (okDisabled) {\n className += ` ${prefixCls}-ok-btn-disabled`;\n }\n return (\n <a class={className} role=\"button\" onClick={okDisabled ? noop : ok}>\n {locale.ok}\n </a>\n );\n },\n};\n","function noop() {}\nexport default {\n functional: true,\n render(h, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, showTimePicker, timePickerDisabled } = props;\n const { closeTimePicker = noop, openTimePicker = noop } = listeners;\n const className = {\n [`${prefixCls}-time-picker-btn`]: true,\n [`${prefixCls}-time-picker-btn-disabled`]: timePickerDisabled,\n };\n let onClick = noop;\n if (!timePickerDisabled) {\n onClick = showTimePicker ? closeTimePicker : openTimePicker;\n }\n return (\n <a class={className} role=\"button\" onClick={onClick}>\n {showTimePicker ? locale.dateSelect : locale.timeSelect}\n </a>\n );\n },\n};\n","import { getTodayTimeStr, getTodayTime, isAllowedDate } from '../util/';\nfunction noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const {\n prefixCls,\n locale,\n value,\n timePicker,\n disabled,\n disabledDate,\n // onToday,\n text,\n } = props;\n const { today = noop } = listeners;\n const localeNow = (!text && timePicker ? locale.now : text) || locale.today;\n const disabledToday = disabledDate && !isAllowedDate(getTodayTime(value), disabledDate);\n const isDisabled = disabledToday || disabled;\n const disabledTodayClass = isDisabled ? `${prefixCls}-today-btn-disabled` : '';\n return (\n <a\n class={`${prefixCls}-today-btn ${disabledTodayClass}`}\n role=\"button\"\n onClick={isDisabled ? noop : today}\n title={getTodayTimeStr(value)}\n >\n {localeNow}\n </a>\n );\n },\n};\n","export default {\n DATE_ROW_COUNT: 6,\n DATE_COL_COUNT: 7,\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { formatDate } from '../util';\n\nconst DateInput = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n timePicker: PropTypes.object,\n value: PropTypes.object,\n disabledTime: PropTypes.any,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n locale: PropTypes.object,\n disabledDate: PropTypes.func,\n // onChange: PropTypes.func,\n // onClear: PropTypes.func,\n placeholder: PropTypes.string,\n // onSelect: PropTypes.func,\n selectedValue: PropTypes.object,\n clearIcon: PropTypes.any,\n },\n\n data() {\n const selectedValue = this.selectedValue;\n return {\n str: formatDate(selectedValue, this.format),\n invalid: false,\n hasFocus: false,\n };\n },\n watch: {\n selectedValue() {\n this.updateState();\n },\n format() {\n this.updateState();\n },\n },\n\n updated() {\n this.$nextTick(() => {\n if (\n this.$data.hasFocus &&\n !this.invalid &&\n !(this.cachedSelectionStart === 0 && this.cachedSelectionEnd === 0)\n ) {\n this.$refs.dateInputInstance.setSelectionRange(\n this.cachedSelectionStart,\n this.cachedSelectionEnd,\n );\n }\n });\n },\n methods: {\n updateState() {\n this.cachedSelectionStart = this.$refs.dateInputInstance.selectionStart;\n this.cachedSelectionEnd = this.$refs.dateInputInstance.selectionEnd;\n // when popup show, click body will call this, bug!\n const selectedValue = this.selectedValue;\n if (!this.$data.hasFocus) {\n this.setState({\n str: formatDate(selectedValue, this.format),\n invalid: false,\n });\n }\n },\n onInputChange(event) {\n const str = event.target.value;\n const { disabledDate, format, selectedValue } = this.$props;\n\n // 没有内容,合法并直接退出\n if (!str) {\n this.__emit('change', null);\n this.setState({\n invalid: false,\n str,\n });\n return;\n }\n\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n str,\n });\n return;\n }\n const value = this.value.clone();\n value\n .year(parsed.year())\n .month(parsed.month())\n .date(parsed.date())\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n if (!value || (disabledDate && disabledDate(value))) {\n this.setState({\n invalid: true,\n str,\n });\n return;\n }\n\n if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {\n this.setState({\n str,\n });\n this.__emit('change', value);\n }\n },\n\n onClear() {\n this.setState({\n str: '',\n });\n this.__emit('clear', null);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n\n focus() {\n if (this.$refs.dateInputInstance) {\n this.$refs.dateInputInstance.focus();\n }\n },\n onFocus() {\n this.setState({ hasFocus: true });\n },\n\n onBlur() {\n this.setState((prevState, prevProps) => ({\n hasFocus: false,\n str: formatDate(prevProps.value, prevProps.format),\n }));\n },\n },\n\n render() {\n const { invalid, str, locale, prefixCls, placeholder, disabled, showClear } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <div class={`${prefixCls}-input-wrap`}>\n <div class={`${prefixCls}-date-input-wrap`}>\n <input\n ref=\"dateInputInstance\"\n class={`${prefixCls}-input ${invalidClass}`}\n value={str}\n disabled={disabled}\n placeholder={placeholder}\n onInput={this.onInputChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n />\n </div>\n {showClear ? (\n <a role=\"button\" title={locale.clear} onClick={this.onClear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n\nexport default DateInput;\n","import PropTypes from '../../../_util/vue-types';\nimport { getOptionProps } from '../../../_util/props-util';\nimport cx from 'classnames';\nimport DateConstants from './DateConstants';\nimport { getTitleString, getTodayTime } from '../util/';\nfunction noop() {}\nfunction isSameDay(one, two) {\n return one && two && one.isSame(two, 'day');\n}\n\nfunction beforeCurrentMonthYear(current, today) {\n if (current.year() < today.year()) {\n return 1;\n }\n return current.year() === today.year() && current.month() < today.month();\n}\n\nfunction afterCurrentMonthYear(current, today) {\n if (current.year() > today.year()) {\n return 1;\n }\n return current.year() === today.year() && current.month() > today.month();\n}\n\nfunction getIdFromDate(date) {\n return `rc-calendar-${date.year()}-${date.month()}-${date.date()}`;\n}\n\nconst DateTBody = {\n props: {\n contentRender: PropTypes.func,\n dateRender: PropTypes.func,\n disabledDate: PropTypes.func,\n prefixCls: PropTypes.string,\n selectedValue: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n value: PropTypes.object,\n hoverValue: PropTypes.any.def([]),\n showWeekNumber: PropTypes.bool,\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n contentRender,\n prefixCls,\n selectedValue,\n value,\n showWeekNumber,\n dateRender,\n disabledDate,\n hoverValue,\n } = props;\n const { $listeners = {} } = this;\n const { select = noop, dayHover = noop } = $listeners;\n let iIndex;\n let jIndex;\n let current;\n const dateTable = [];\n const today = getTodayTime(value);\n const cellClass = `${prefixCls}-cell`;\n const weekNumberCellClass = `${prefixCls}-week-number-cell`;\n const dateClass = `${prefixCls}-date`;\n const todayClass = `${prefixCls}-today`;\n const selectedClass = `${prefixCls}-selected-day`;\n const selectedDateClass = `${prefixCls}-selected-date`; // do not move with mouse operation\n const selectedStartDateClass = `${prefixCls}-selected-start-date`;\n const selectedEndDateClass = `${prefixCls}-selected-end-date`;\n const inRangeClass = `${prefixCls}-in-range-cell`;\n const lastMonthDayClass = `${prefixCls}-last-month-cell`;\n const nextMonthDayClass = `${prefixCls}-next-month-btn-day`;\n const disabledClass = `${prefixCls}-disabled-cell`;\n const firstDisableClass = `${prefixCls}-disabled-cell-first-of-row`;\n const lastDisableClass = `${prefixCls}-disabled-cell-last-of-row`;\n const lastDayOfMonthClass = `${prefixCls}-last-day-of-month`;\n const month1 = value.clone();\n month1.date(1);\n const day = month1.day();\n const lastMonthDiffDay = (day + 7 - value.localeData().firstDayOfWeek()) % 7;\n // calculate last month\n const lastMonth1 = month1.clone();\n lastMonth1.add(0 - lastMonthDiffDay, 'days');\n let passed = 0;\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n current = lastMonth1;\n if (passed) {\n current = current.clone();\n current.add(passed, 'days');\n }\n dateTable.push(current);\n passed++;\n }\n }\n const tableHtml = [];\n passed = 0;\n\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n let isCurrentWeek;\n let weekNumberCell;\n let isActiveWeek = false;\n const dateCells = [];\n if (showWeekNumber) {\n weekNumberCell = (\n <td key={`week-${dateTable[passed].week()}`} role=\"gridcell\" class={weekNumberCellClass}>\n {dateTable[passed].week()}\n </td>\n );\n }\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n let next = null;\n let last = null;\n current = dateTable[passed];\n if (jIndex < DateConstants.DATE_COL_COUNT - 1) {\n next = dateTable[passed + 1];\n }\n if (jIndex > 0) {\n last = dateTable[passed - 1];\n }\n let cls = cellClass;\n let disabled = false;\n let selected = false;\n\n if (isSameDay(current, today)) {\n cls += ` ${todayClass}`;\n isCurrentWeek = true;\n }\n\n const isBeforeCurrentMonthYear = beforeCurrentMonthYear(current, value);\n const isAfterCurrentMonthYear = afterCurrentMonthYear(current, value);\n\n if (selectedValue && Array.isArray(selectedValue)) {\n const rangeValue = hoverValue.length ? hoverValue : selectedValue;\n if (!isBeforeCurrentMonthYear && !isAfterCurrentMonthYear) {\n const startValue = rangeValue[0];\n const endValue = rangeValue[1];\n if (startValue) {\n if (isSameDay(current, startValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedStartDateClass}`;\n }\n }\n if (startValue && endValue) {\n if (isSameDay(current, endValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedEndDateClass}`;\n } else if (current.isAfter(startValue, 'day') && current.isBefore(endValue, 'day')) {\n cls += ` ${inRangeClass}`;\n }\n }\n }\n } else if (isSameDay(current, value)) {\n // keyboard change value, highlight works\n selected = true;\n isActiveWeek = true;\n }\n\n if (isSameDay(current, selectedValue)) {\n cls += ` ${selectedDateClass}`;\n }\n\n if (isBeforeCurrentMonthYear) {\n cls += ` ${lastMonthDayClass}`;\n }\n if (isAfterCurrentMonthYear) {\n cls += ` ${nextMonthDayClass}`;\n }\n\n if (\n current\n .clone()\n .endOf('month')\n .date() === current.date()\n ) {\n cls += ` ${lastDayOfMonthClass}`;\n }\n\n if (disabledDate) {\n if (disabledDate(current, value)) {\n disabled = true;\n\n if (!last || !disabledDate(last, value)) {\n cls += ` ${firstDisableClass}`;\n }\n\n if (!next || !disabledDate(next, value)) {\n cls += ` ${lastDisableClass}`;\n }\n }\n }\n\n if (selected) {\n cls += ` ${selectedClass}`;\n }\n\n if (disabled) {\n cls += ` ${disabledClass}`;\n }\n\n let dateHtml;\n if (dateRender) {\n dateHtml = dateRender(current, value);\n } else {\n const content = contentRender ? contentRender(current, value) : current.date();\n dateHtml = (\n <div\n key={getIdFromDate(current)}\n class={dateClass}\n aria-selected={selected}\n aria-disabled={disabled}\n >\n {content}\n </div>\n );\n }\n\n dateCells.push(\n <td\n key={passed}\n onClick={disabled ? noop : select.bind(null, current)}\n onMouseenter={disabled ? noop : dayHover.bind(null, current)}\n role=\"gridcell\"\n title={getTitleString(current)}\n class={cls}\n >\n {dateHtml}\n </td>,\n );\n\n passed++;\n }\n\n tableHtml.push(\n <tr\n key={iIndex}\n role=\"row\"\n class={cx({\n [`${prefixCls}-current-week`]: isCurrentWeek,\n [`${prefixCls}-active-week`]: isActiveWeek,\n })}\n >\n {weekNumberCell}\n {dateCells}\n </tr>,\n );\n }\n return <tbody class={`${prefixCls}-tbody`}>{tableHtml}</tbody>;\n },\n};\n\nexport default DateTBody;\n","import DateConstants from './DateConstants';\nimport moment from 'moment';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props } = context;\n const value = props.value;\n const localeData = value.localeData();\n const prefixCls = props.prefixCls;\n const veryShortWeekdays = [];\n const weekDays = [];\n const firstDayOfWeek = localeData.firstDayOfWeek();\n let showWeekNumberEl;\n const now = moment();\n for (let dateColIndex = 0; dateColIndex < DateConstants.DATE_COL_COUNT; dateColIndex++) {\n const index = (firstDayOfWeek + dateColIndex) % DateConstants.DATE_COL_COUNT;\n now.day(index);\n veryShortWeekdays[dateColIndex] = localeData.weekdaysMin(now);\n weekDays[dateColIndex] = localeData.weekdaysShort(now);\n }\n\n if (props.showWeekNumber) {\n showWeekNumberEl = (\n <th\n role=\"columnheader\"\n class={`${prefixCls}-column-header ${prefixCls}-week-number-header`}\n >\n <span class={`${prefixCls}-column-header-inner`}>x</span>\n </th>\n );\n }\n const weekDaysEls = weekDays.map((day, xindex) => {\n return (\n <th key={xindex} role=\"columnheader\" title={day} class={`${prefixCls}-column-header`}>\n <span class={`${prefixCls}-column-header-inner`}>{veryShortWeekdays[xindex]}</span>\n </th>\n );\n });\n return (\n <thead>\n <tr role=\"row\">\n {showWeekNumberEl}\n {weekDaysEls}\n </tr>\n </thead>\n );\n },\n};\n","import DateTHead from './DateTHead';\nimport DateTBody from './DateTBody';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const prefixCls = props.prefixCls;\n const bodyProps = {\n props,\n on: listeners,\n };\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <DateTHead {...bodyProps} />\n <DateTBody {...bodyProps} />\n </table>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const next = this.sValue.clone();\n next.add(direction, 'years');\n this.setState({\n sValue: next,\n });\n}\n\nfunction chooseDecade(year, event) {\n const next = this.sValue.clone();\n next.year(year);\n next.month(this.sValue.month());\n this.__emit('select', next);\n event.preventDefault();\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n locale: PropTypes.object,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n },\n data() {\n this.nextCentury = goYear.bind(this, 100);\n this.previousCentury = goYear.bind(this, -100);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n\n render() {\n const value = this.sValue;\n const locale = this.locale;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 100, 10) * 100;\n const preYear = startYear - 10;\n const endYear = startYear + 99;\n const decades = [];\n let index = 0;\n const prefixCls = `${this.rootPrefixCls}-decade-panel`;\n\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n decades[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const startDecade = preYear + index * 10;\n const endDecade = preYear + index * 10 + 9;\n decades[rowIndex][colIndex] = {\n startDecade,\n endDecade,\n };\n index++;\n }\n }\n\n const decadesEls = decades.map((row, decadeIndex) => {\n const tds = row.map(decadeData => {\n const dStartDecade = decadeData.startDecade;\n const dEndDecade = decadeData.endDecade;\n const isLast = dStartDecade < startYear;\n const isNext = dEndDecade > endYear;\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-selected-cell`]: dStartDecade <= currentYear && currentYear <= dEndDecade,\n [`${prefixCls}-last-century-cell`]: isLast,\n [`${prefixCls}-next-century-cell`]: isNext,\n };\n const content = `${dStartDecade}-${dEndDecade}`;\n let clickHandler = noop;\n if (isLast) {\n clickHandler = this.previousCentury;\n } else if (isNext) {\n clickHandler = this.nextCentury;\n } else {\n clickHandler = chooseDecade.bind(this, dStartDecade);\n }\n return (\n <td key={dStartDecade} onClick={clickHandler} role=\"gridcell\" class={classNameMap}>\n <a class={`${prefixCls}-decade`}>{content}</a>\n </td>\n );\n });\n return (\n <tr key={decadeIndex} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <div class={prefixCls}>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-century-btn`}\n role=\"button\"\n onClick={this.previousCentury}\n title={locale.previousCentury}\n />\n\n <div class={`${prefixCls}-century`}>\n {startYear}-{endYear}\n </div>\n <a\n class={`${prefixCls}-next-century-btn`}\n role=\"button\"\n onClick={this.nextCentury}\n title={locale.nextCentury}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{decadesEls}</tbody>\n </table>\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getMonthName } from '../util';\n\nconst CalendarHeader = {\n mixins: [BaseMixin],\n props: {\n value: PropTypes.object,\n locale: PropTypes.object,\n yearSelectOffset: PropTypes.number.def(10),\n yearSelectTotal: PropTypes.number.def(20),\n // onValueChange: PropTypes.func,\n // onTypeChange: PropTypes.func,\n Select: PropTypes.object,\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n showTypeSwitch: PropTypes.bool,\n headerComponents: PropTypes.array,\n },\n methods: {\n onYearChange(year) {\n const newValue = this.value.clone();\n newValue.year(parseInt(year, 10));\n this.__emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.__emit('valueChange', newValue);\n },\n\n yearSelectElement(year) {\n const { yearSelectOffset, yearSelectTotal, prefixCls, Select } = this;\n const start = year - yearSelectOffset;\n const end = start + yearSelectTotal;\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Select.Option key={`${index}`}>{index}</Select.Option>);\n }\n return (\n <Select\n class={`${prefixCls}-header-year-select`}\n onChange={this.onYearChange}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{ maxHeight: '250px', overflow: 'auto', fontSize: '12px' }}\n optionLabelProp=\"children\"\n value={String(year)}\n showSearch={false}\n >\n {options}\n </Select>\n );\n },\n\n monthSelectElement(month) {\n const { value, Select, prefixCls } = this;\n const t = value.clone();\n const options = [];\n\n for (let index = 0; index < 12; index++) {\n t.month(index);\n options.push(<Select.Option key={`${index}`}>{getMonthName(t)}</Select.Option>);\n }\n\n return (\n <Select\n class={`${prefixCls}-header-month-select`}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{\n maxHeight: '250px',\n overflow: 'auto',\n overflowX: 'hidden',\n fontSize: '12px',\n }}\n optionLabelProp=\"children\"\n value={String(month)}\n showSearch={false}\n onChange={this.onMonthChange}\n >\n {options}\n </Select>\n );\n },\n\n changeTypeToDate() {\n this.__emit('typeChange', 'date');\n },\n\n changeTypeToMonth() {\n this.__emit('typeChange', 'month');\n },\n },\n\n render() {\n const { value, locale, prefixCls, type, showTypeSwitch, headerComponents } = this;\n const year = value.year();\n const month = value.month();\n const yearSelect = this.yearSelectElement(year);\n const monthSelect = type === 'month' ? null : this.monthSelectElement(month);\n const switchCls = `${prefixCls}-header-switcher`;\n const typeSwitcher = showTypeSwitch ? (\n <span class={switchCls}>\n {type === 'date' ? (\n <span class={`${switchCls}-focus`}>{locale.month}</span>\n ) : (\n <span onClick={this.changeTypeToDate} class={`${switchCls}-normal`}>\n {locale.month}\n </span>\n )}\n {type === 'month' ? (\n <span class={`${switchCls}-focus`}>{locale.year}</span>\n ) : (\n <span onClick={this.changeTypeToMonth} class={`${switchCls}-normal`}>\n {locale.year}\n </span>\n )}\n </span>\n ) : null;\n\n return (\n <div class={`${prefixCls}-header`}>\n {typeSwitcher}\n {monthSelect}\n {yearSelect}\n {headerComponents}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","import Calendar from './Calendar';\n\nexport default Calendar;\n","export default {\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century',\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { isAllowedDate, getTodayTime } from '../util/index';\nfunction noop() {}\nfunction getNow() {\n return moment();\n}\n\nfunction getNowByCurrentStateValue(value) {\n let ret;\n if (value) {\n ret = getTodayTime(value);\n } else {\n ret = getNow();\n }\n return ret;\n}\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nconst CalendarMixin = {\n mixins: [BaseMixin],\n props: {\n value: MomentType,\n defaultValue: MomentType,\n },\n\n data() {\n const props = this.$props;\n const sValue = props.value || props.defaultValue || getNow();\n return {\n sValue,\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n value(val) {\n const sValue = val || this.defaultValue || getNowByCurrentStateValue(this.sValue);\n this.setState({\n sValue,\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n methods: {\n onSelect(value, cause) {\n if (value) {\n this.setValue(value);\n }\n this.setSelectedValue(value, cause);\n },\n\n renderRoot(newProps) {\n const props = this.$props;\n const prefixCls = props.prefixCls;\n\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n // [props.className]: !!props.className,\n [newProps.class]: !!newProps.class,\n };\n return (\n <div ref=\"rootInstance\" class={className} tabIndex=\"0\" onKeydown={this.onKeyDown || noop}>\n {newProps.children}\n </div>\n );\n },\n\n setSelectedValue(selectedValue, cause) {\n // if (this.isAllowedDate(selectedValue)) {\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n this.__emit('select', selectedValue, cause);\n // }\n },\n\n setValue(value) {\n const originalValue = this.sValue;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n if (\n (originalValue && value && !originalValue.isSame(value)) ||\n (!originalValue && value) ||\n (originalValue && !value)\n ) {\n this.__emit('change', value);\n }\n },\n\n isAllowedDate(value) {\n const disabledDate = this.disabledDate;\n const disabledTime = this.disabledTime;\n return isAllowedDate(value, disabledDate, disabledTime);\n },\n },\n};\n\nexport default CalendarMixin;\n","export default {\n // getDefaultProps () {\n // return {\n // locale: enUs,\n // visible: true,\n // prefixCls: 'rc-calendar',\n\n // renderFooter () {\n // return null\n // },\n // renderSidebar () {\n // return null\n // },\n // }\n // },\n\n // shouldComponentUpdate (nextProps) {\n // return this.props.visible || nextProps.visible\n // },\n methods: {\n getFormat() {\n let { format } = this;\n const { locale, timePicker } = this;\n if (!format) {\n if (timePicker) {\n format = locale.dateTimeFormat;\n } else {\n format = locale.dateFormat;\n }\n }\n return format;\n },\n\n focus() {\n if (this.$refs.rootInstance) {\n this.$refs.rootInstance.focus();\n }\n },\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp } from '../../../_util/props-util';\nimport MonthTable from './MonthTable';\n\nfunction goYear(direction) {\n const next = this.sValue.clone();\n next.add(direction, 'year');\n this.setAndChangeValue(next);\n}\n\nfunction noop() {}\n\nconst MonthPanel = {\n mixins: [BaseMixin],\n props: {\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n cellRender: PropTypes.any,\n contentRender: PropTypes.any,\n locale: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n // onChange: PropTypes.func,\n disabledDate: PropTypes.func,\n // onSelect: PropTypes.func,\n },\n\n data() {\n const { value, defaultValue } = this;\n // bind methods\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return {\n sValue: value || defaultValue,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndChangeValue(value) {\n this.setValue(value);\n this.__emit('change', value);\n },\n\n setAndSelectValue(value) {\n this.setValue(value);\n this.__emit('select', value);\n },\n\n setValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n },\n },\n\n render() {\n const {\n sValue,\n cellRender,\n contentRender,\n locale,\n rootPrefixCls,\n disabledDate,\n $listeners = {},\n } = this;\n const year = sValue.year();\n const prefixCls = `${rootPrefixCls}-month-panel`;\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />\n\n <a\n class={`${prefixCls}-year-select`}\n role=\"button\"\n onClick={$listeners.yearPanelShow || noop}\n title={locale.yearSelect}\n >\n <span class={`${prefixCls}-year-select-content`}>{year}</span>\n <span class={`${prefixCls}-year-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-year-btn`}\n role=\"button\"\n onClick={this.nextYear}\n title={locale.nextYear}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <MonthTable\n disabledDate={disabledDate}\n onSelect={this.setAndSelectValue}\n locale={locale}\n value={sValue}\n cellRender={cellRender}\n contentRender={contentRender}\n prefixCls={prefixCls}\n />\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default MonthPanel;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getTodayTime, getMonthName } from '../util/index';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction chooseMonth(month) {\n const next = this.sValue.clone();\n next.month(month);\n this.setAndSelectValue(next);\n}\n\nfunction noop() {}\n\nconst MonthTable = {\n mixins: [BaseMixin],\n props: {\n cellRender: PropTypes.func,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n locale: PropTypes.any,\n contentRender: PropTypes.any,\n disabledDate: PropTypes.func,\n },\n data() {\n return {\n sValue: this.value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndSelectValue(value) {\n this.setState({\n sValue: value,\n });\n this.__emit('select', value);\n },\n\n months() {\n const value = this.sValue;\n const current = value.clone();\n const months = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n months[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n current.month(index);\n const content = getMonthName(current);\n months[rowIndex][colIndex] = {\n value: index,\n content,\n title: content,\n };\n index++;\n }\n }\n return months;\n },\n },\n\n render() {\n const props = this.$props;\n const value = this.sValue;\n const today = getTodayTime(value);\n const months = this.months();\n const currentMonth = value.month();\n const { prefixCls, locale, contentRender, cellRender, disabledDate } = props;\n const monthsEls = months.map((month, index) => {\n const tds = month.map(monthData => {\n let disabled = false;\n if (disabledDate) {\n const testValue = value.clone();\n testValue.month(monthData.value);\n disabled = disabledDate(testValue);\n }\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-cell-disabled`]: disabled,\n [`${prefixCls}-selected-cell`]: monthData.value === currentMonth,\n [`${prefixCls}-current-cell`]:\n today.year() === value.year() && monthData.value === today.month(),\n };\n let cellEl;\n if (cellRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n cellEl = cellRender(currentValue, locale);\n } else {\n let content;\n if (contentRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n content = contentRender(currentValue, locale);\n } else {\n content = monthData.content;\n }\n cellEl = <a class={`${prefixCls}-month`}>{content}</a>;\n }\n return (\n <td\n role=\"gridcell\"\n key={monthData.value}\n onClick={disabled ? noop : chooseMonth.bind(this, monthData.value)}\n title={monthData.title}\n class={classNameMap}\n >\n {cellEl}\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{monthsEls}</tbody>\n </table>\n );\n },\n};\n\nexport default MonthTable;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp } from '../../../_util/props-util';\nimport { cloneElement } from '../../../_util/vnode';\nimport CalendarHeader from '../calendar/CalendarHeader';\nimport DateTable from '../date/DateTable';\nimport DateInput from '../date/DateInput';\nimport { getTimeConfig } from '../util/index';\nfunction noop() {}\nconst CalendarPart = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n selectedValue: PropTypes.any,\n direction: PropTypes.any,\n locale: PropTypes.any,\n showDateInput: PropTypes.bool,\n showTimePicker: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n format: PropTypes.any,\n placeholder: PropTypes.any,\n disabledDate: PropTypes.any,\n timePicker: PropTypes.any,\n disabledTime: PropTypes.any,\n disabledMonth: PropTypes.any,\n mode: PropTypes.any,\n // onInputSelect: PropTypes.func,\n timePickerDisabledTime: PropTypes.object,\n enableNext: PropTypes.any,\n enablePrev: PropTypes.any,\n dateRender: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n render() {\n const { $props: props, $listeners = {} } = this;\n const {\n prefixCls,\n value,\n hoverValue,\n selectedValue,\n mode,\n direction,\n locale,\n format,\n placeholder,\n disabledDate,\n timePicker,\n disabledTime,\n timePickerDisabledTime,\n showTimePicker,\n enablePrev,\n enableNext,\n disabledMonth,\n showDateInput,\n dateRender,\n showWeekNumber,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const {\n inputSelect = noop,\n valueChange = noop,\n panelChange = noop,\n select = noop,\n dayHover = noop,\n } = $listeners;\n const shouldShowTimePicker = showTimePicker && timePicker;\n const disabledTimeConfig =\n shouldShowTimePicker && disabledTime ? getTimeConfig(selectedValue, disabledTime) : null;\n const rangeClassName = `${prefixCls}-range`;\n const newProps = {\n locale,\n value,\n prefixCls,\n showTimePicker,\n };\n const index = direction === 'left' ? 0 : 1;\n let timePickerEle = null;\n if (shouldShowTimePicker) {\n const timePickerProps = getOptionProps(timePicker);\n timePickerEle = cloneElement(timePicker, {\n props: {\n showHour: true,\n showMinute: true,\n showSecond: true,\n ...timePickerProps,\n ...disabledTimeConfig,\n ...timePickerDisabledTime,\n defaultOpenValue: value,\n value: selectedValue[index],\n },\n on: {\n change: inputSelect,\n },\n });\n }\n\n const dateInputElement = showDateInput && (\n <DateInput\n format={format}\n locale={locale}\n prefixCls={prefixCls}\n timePicker={timePicker}\n disabledDate={disabledDate}\n placeholder={placeholder}\n disabledTime={disabledTime}\n value={value}\n showClear={false}\n selectedValue={selectedValue[index]}\n onChange={inputSelect}\n clearIcon={clearIcon}\n />\n );\n const headerProps = {\n props: {\n ...newProps,\n mode,\n enableNext,\n enablePrev,\n disabledMonth,\n },\n on: {\n valueChange,\n panelChange,\n },\n };\n const tableProps = {\n props: {\n ...newProps,\n hoverValue,\n selectedValue,\n dateRender,\n disabledDate,\n showWeekNumber,\n },\n on: {\n select,\n dayHover,\n },\n };\n return (\n <div class={`${rangeClassName}-part ${rangeClassName}-${direction}`}>\n {dateInputElement}\n <div style={{ outline: 'none' }}>\n <CalendarHeader {...headerProps} />\n {showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable {...tableProps} />\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default CalendarPart;\n","import moment from 'moment';\n\nconst defaultDisabledTime = {\n disabledHours() {\n return [];\n },\n disabledMinutes() {\n return [];\n },\n disabledSeconds() {\n return [];\n },\n};\n\nexport function getTodayTime(value) {\n const today = moment();\n today.locale(value.locale()).utcOffset(value.utcOffset());\n return today;\n}\n\nexport function getTitleString(value) {\n return value.format('LL');\n}\n\nexport function getTodayTimeStr(value) {\n const today = getTodayTime(value);\n return getTitleString(today);\n}\n\nexport function getMonthName(month) {\n const locale = month.locale();\n const localeData = month.localeData();\n return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);\n}\n\nexport function syncTime(from, to) {\n if (!moment.isMoment(from) || !moment.isMoment(to)) return;\n to.hour(from.hour());\n to.minute(from.minute());\n to.second(from.second());\n}\n\nexport function getTimeConfig(value, disabledTime) {\n let disabledTimeConfig = disabledTime ? disabledTime(value) : {};\n disabledTimeConfig = {\n ...defaultDisabledTime,\n ...disabledTimeConfig,\n };\n return disabledTimeConfig;\n}\n\nexport function isTimeValidByConfig(value, disabledTimeConfig) {\n let invalidTime = false;\n if (value) {\n const hour = value.hour();\n const minutes = value.minute();\n const seconds = value.second();\n const disabledHours = disabledTimeConfig.disabledHours();\n if (disabledHours.indexOf(hour) === -1) {\n const disabledMinutes = disabledTimeConfig.disabledMinutes(hour);\n if (disabledMinutes.indexOf(minutes) === -1) {\n const disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);\n invalidTime = disabledSeconds.indexOf(seconds) !== -1;\n } else {\n invalidTime = true;\n }\n } else {\n invalidTime = true;\n }\n }\n return !invalidTime;\n}\n\nexport function isTimeValid(value, disabledTime) {\n const disabledTimeConfig = getTimeConfig(value, disabledTime);\n return isTimeValidByConfig(value, disabledTimeConfig);\n}\n\nexport function isAllowedDate(value, disabledDate, disabledTime) {\n if (disabledDate) {\n if (disabledDate(value)) {\n return false;\n }\n }\n if (disabledTime) {\n if (!isTimeValid(value, disabledTime)) {\n return false;\n }\n }\n return true;\n}\n\nexport function formatDate(value, format) {\n if (!value) {\n return '';\n }\n\n if (Array.isArray(format)) {\n format = format[0];\n }\n\n return value.format(format);\n}\n","export function goStartMonth(time) {\n return time.clone().startOf('month');\n}\n\nexport function goEndMonth(time) {\n return time.clone().endOf('month');\n}\n\nexport function goTime(time, direction, unit) {\n return time.clone().add(direction, unit);\n}\n\nexport function includesTime(timeList = [], time, unit) {\n return timeList.some(t => t.isSame(time, unit));\n}\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const value = this.sValue.clone();\n value.add(direction, 'year');\n this.setState({\n sValue: value,\n });\n}\n\nfunction chooseYear(year) {\n const value = this.sValue.clone();\n value.year(year);\n value.month(this.sValue.month());\n this.__emit('select', value);\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n rootPrefixCls: PropTypes.string,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n locale: PropTypes.object,\n },\n data() {\n this.nextDecade = goYear.bind(this, 10);\n this.previousDecade = goYear.bind(this, -10);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n methods: {\n years() {\n const value = this.sValue;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const previousYear = startYear - 1;\n const years = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n years[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const year = previousYear + index;\n const content = String(year);\n years[rowIndex][colIndex] = {\n content,\n year,\n title: content,\n };\n index++;\n }\n }\n return years;\n },\n },\n\n render() {\n const { sValue: value, locale, $listeners = {} } = this;\n const decadePanelShow = $listeners.decadePanelShow || noop;\n const years = this.years();\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const endYear = startYear + 9;\n const prefixCls = `${this.rootPrefixCls}-year-panel`;\n\n const yeasEls = years.map((row, index) => {\n const tds = row.map(yearData => {\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-selected-cell`]: yearData.year === currentYear,\n [`${prefixCls}-last-decade-cell`]: yearData.year < startYear,\n [`${prefixCls}-next-decade-cell`]: yearData.year > endYear,\n };\n let clickHandler = noop;\n if (yearData.year < startYear) {\n clickHandler = this.previousDecade;\n } else if (yearData.year > endYear) {\n clickHandler = this.nextDecade;\n } else {\n clickHandler = chooseYear.bind(this, yearData.year);\n }\n return (\n <td\n role=\"gridcell\"\n title={yearData.title}\n key={yearData.content}\n onClick={clickHandler}\n class={classNameMap}\n >\n <a class={`${prefixCls}-year`}>{yearData.content}</a>\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-decade-btn`}\n role=\"button\"\n onClick={this.previousDecade}\n title={locale.previousDecade}\n />\n <a\n class={`${prefixCls}-decade-select`}\n role=\"button\"\n onClick={decadePanelShow}\n title={locale.decadeSelect}\n >\n <span class={`${prefixCls}-decade-select-content`}>\n {startYear}-{endYear}\n </span>\n <span class={`${prefixCls}-decade-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-decade-btn`}\n role=\"button\"\n onClick={this.nextDecade}\n title={locale.nextDecade}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{yeasEls}</tbody>\n </table>\n </div>\n </div>\n </div>\n );\n },\n};\n","import { getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport Menus from './Menus';\nimport KeyCode from '../_util/KeyCode';\nimport arrayTreeFilter from 'array-tree-filter';\nimport shallowEqualArrays from 'shallow-equal/arrays';\nimport { hasProp, getEvents } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: {\n value: PropTypes.array,\n defaultValue: PropTypes.array,\n options: PropTypes.array.def([]).isRequired,\n // onChange: PropTypes.func,\n // onPopupVisibleChange: PropTypes.func,\n popupVisible: PropTypes.bool,\n disabled: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def(''),\n popupClassName: PropTypes.string.def(''),\n popupStyle: PropTypes.object.def({}),\n popupPlacement: PropTypes.string.def('bottomLeft'),\n prefixCls: PropTypes.string.def('rc-cascader'),\n dropdownMenuColumnStyle: PropTypes.object,\n builtinPlacements: PropTypes.object.def(BUILT_IN_PLACEMENTS),\n loadData: PropTypes.func,\n changeOnSelect: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n expandTrigger: PropTypes.string.def('click'),\n fieldNames: PropTypes.object.def({ label: 'label', value: 'value', children: 'children' }),\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n getPopupContainer: PropTypes.func,\n },\n data() {\n let initialValue = [];\n const { value, defaultValue, popupVisible } = this;\n if (hasProp(this, 'value')) {\n initialValue = value || [];\n } else if (hasProp(this, 'defaultValue')) {\n initialValue = defaultValue || [];\n }\n // warning(!('filedNames' in props),\n // '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');\n\n return {\n sPopupVisible: popupVisible,\n sActiveValue: initialValue,\n sValue: initialValue,\n };\n },\n watch: {\n value(val, oldValue) {\n if (!shallowEqualArrays(val, oldValue)) {\n const newValues = {\n sValue: val || [],\n sActiveValue: val || [],\n };\n // allow activeValue diff from value\n // https://github.com/ant-design/ant-design/issues/2767\n if (hasProp(this, 'loadData')) {\n delete newValues.sActiveValue;\n }\n this.setState(newValues);\n }\n },\n popupVisible(val) {\n this.setState({\n sPopupVisible: val,\n });\n },\n },\n methods: {\n getPopupDOMNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n getFieldName(name) {\n const { defaultFieldNames, fieldNames } = this;\n return fieldNames[name] || defaultFieldNames[name];\n },\n getFieldNames() {\n return this.fieldNames;\n },\n getCurrentLevelOptions() {\n const { options, sActiveValue = [] } = this;\n const result = arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === sActiveValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n if (result[result.length - 2]) {\n return result[result.length - 2][this.getFieldName('children')];\n }\n return [...options].filter(o => !o.disabled);\n },\n getActiveOptions(activeValue) {\n return arrayTreeFilter(\n this.options,\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n setPopupVisible(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({ sPopupVisible: popupVisible });\n }\n // sync activeValue with value when panel open\n if (popupVisible && !this.sPopupVisible) {\n this.setState({\n sActiveValue: this.sValue,\n });\n }\n this.__emit('popupVisibleChange', popupVisible);\n },\n handleChange(options, setProps, e) {\n if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n this.__emit('change', options.map(o => o[this.getFieldName('value')]), options);\n this.setPopupVisible(setProps.visible);\n }\n },\n handlePopupVisibleChange(popupVisible) {\n this.setPopupVisible(popupVisible);\n },\n handleMenuSelect(targetOption, menuIndex, e) {\n // Keep focused state for keyboard support\n const triggerNode = this.$refs.trigger.getRootDomNode();\n if (triggerNode && triggerNode.focus) {\n triggerNode.focus();\n }\n const { changeOnSelect, loadData, expandTrigger } = this;\n if (!targetOption || targetOption.disabled) {\n return;\n }\n let { sActiveValue } = this;\n sActiveValue = sActiveValue.slice(0, menuIndex + 1);\n sActiveValue[menuIndex] = targetOption[this.getFieldName('value')];\n const activeOptions = this.getActiveOptions(sActiveValue);\n if (\n targetOption.isLeaf === false &&\n !targetOption[this.getFieldName('children')] &&\n loadData\n ) {\n if (changeOnSelect) {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n this.setState({ sActiveValue });\n loadData(activeOptions);\n return;\n }\n const newState = {};\n if (\n !targetOption[this.getFieldName('children')] ||\n !targetOption[this.getFieldName('children')].length\n ) {\n this.handleChange(activeOptions, { visible: false }, e);\n // set value to activeValue when select leaf option\n newState.sValue = sActiveValue;\n // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {\n if (expandTrigger === 'hover') {\n this.handleChange(activeOptions, { visible: false }, e);\n } else {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n // set value to activeValue on every select\n newState.sValue = sActiveValue;\n }\n newState.sActiveValue = sActiveValue;\n // not change the value by keyboard\n if (hasProp(this, 'value') || (e.type === 'keydown' && e.keyCode !== KeyCode.ENTER)) {\n delete newState.sValue;\n }\n this.setState(newState);\n },\n handleKeyDown(e) {\n const { $slots } = this;\n const children = $slots.default && $slots.default[0];\n // https://github.com/ant-design/ant-design/issues/6717\n // Don't bind keyboard support when children specify the onKeyDown\n if (children) {\n const keydown = getEvents(children).keydown;\n if (keydown) {\n keydown(e);\n return;\n }\n }\n const activeValue = [...this.sActiveValue];\n const currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n const currentOptions = this.getCurrentLevelOptions();\n const currentIndex = currentOptions\n .map(o => o[this.getFieldName('value')])\n .indexOf(activeValue[currentLevel]);\n if (\n e.keyCode !== KeyCode.DOWN &&\n e.keyCode !== KeyCode.UP &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ENTER &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.ESC\n ) {\n return;\n }\n // Press any keys above to reopen menu\n if (\n !this.sPopupVisible &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ESC\n ) {\n this.setPopupVisible(true);\n return;\n }\n if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n e.preventDefault();\n let nextIndex = currentIndex;\n if (nextIndex !== -1) {\n if (e.keyCode === KeyCode.DOWN) {\n nextIndex += 1;\n nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n } else {\n nextIndex -= 1;\n nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n }\n } else {\n nextIndex = 0;\n }\n activeValue[currentLevel] = currentOptions[nextIndex][this.getFieldName('value')];\n } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n e.preventDefault();\n activeValue.splice(activeValue.length - 1, 1);\n } else if (e.keyCode === KeyCode.RIGHT) {\n e.preventDefault();\n if (\n currentOptions[currentIndex] &&\n currentOptions[currentIndex][this.getFieldName('children')]\n ) {\n activeValue.push(\n currentOptions[currentIndex][this.getFieldName('children')][0][\n this.getFieldName('value')\n ],\n );\n }\n } else if (e.keyCode === KeyCode.ESC) {\n this.setPopupVisible(false);\n return;\n }\n if (!activeValue || activeValue.length === 0) {\n this.setPopupVisible(false);\n }\n const activeOptions = this.getActiveOptions(activeValue);\n const targetOption = activeOptions[activeOptions.length - 1];\n this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n this.__emit('keydown', e);\n },\n },\n\n render() {\n const {\n $props,\n $slots,\n sActiveValue,\n handleMenuSelect,\n sPopupVisible,\n handlePopupVisibleChange,\n handleKeyDown,\n $listeners,\n } = this;\n const {\n prefixCls,\n transitionName,\n popupClassName,\n options,\n disabled,\n builtinPlacements,\n popupPlacement,\n ...restProps\n } = $props;\n // Did not show popup when there is no options\n let menus = <div />;\n let emptyMenuClassName = '';\n if (options && options.length > 0) {\n const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon') || '>';\n const menusProps = {\n props: {\n ...$props,\n fieldNames: this.getFieldNames(),\n defaultFieldNames: this.defaultFieldNames,\n activeValue: sActiveValue,\n visible: sPopupVisible,\n loadingIcon,\n expandIcon,\n },\n on: {\n ...$listeners,\n select: handleMenuSelect,\n },\n };\n menus = <Menus {...menusProps} />;\n } else {\n emptyMenuClassName = ` ${prefixCls}-menus-empty`;\n }\n const triggerProps = {\n props: {\n ...restProps,\n disabled: disabled,\n popupPlacement: popupPlacement,\n builtinPlacements: builtinPlacements,\n popupTransitionName: transitionName,\n action: disabled ? [] : ['click'],\n popupVisible: disabled ? false : sPopupVisible,\n prefixCls: `${prefixCls}-menus`,\n popupClassName: popupClassName + emptyMenuClassName,\n },\n on: {\n ...$listeners,\n popupVisibleChange: handlePopupVisibleChange,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n {$slots.default &&\n cloneElement($slots.default[0], {\n on: {\n keydown: handleKeyDown,\n },\n attrs: {\n tabIndex: disabled ? undefined : 0,\n },\n })}\n <template slot=\"popup\">{menus}</template>\n </Trigger>\n );\n },\n};\n","import { getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport arrayTreeFilter from 'array-tree-filter';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n name: 'CascaderMenus',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.array.def([]),\n activeValue: PropTypes.array.def([]),\n options: PropTypes.array.isRequired,\n prefixCls: PropTypes.string.def('rc-cascader-menus'),\n expandTrigger: PropTypes.string.def('click'),\n // onSelect: PropTypes.func,\n visible: PropTypes.bool.def(false),\n dropdownMenuColumnStyle: PropTypes.object,\n defaultFieldNames: PropTypes.object,\n fieldNames: PropTypes.object,\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n },\n data() {\n this.menuItems = {};\n return {};\n },\n watch: {\n visible(val) {\n if (val) {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n },\n methods: {\n getFieldName(name) {\n const { fieldNames, defaultFieldNames } = this.$props;\n // 防止只设置单个属性的名字\n return fieldNames[name] || defaultFieldNames[name];\n },\n getOption(option, menuIndex) {\n const { prefixCls, expandTrigger } = this;\n const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon');\n const onSelect = e => {\n this.__emit('select', option, menuIndex, e);\n };\n const key = option[this.getFieldName('value')];\n const expandProps = {\n attrs: {},\n on: {\n click: onSelect,\n },\n key: Array.isArray(key) ? key.join('__ant__') : key,\n };\n let menuItemCls = `${prefixCls}-menu-item`;\n let expandIconNode = null;\n const hasChildren =\n option[this.getFieldName('children')] && option[this.getFieldName('children')].length > 0;\n if (hasChildren || option.isLeaf === false) {\n menuItemCls += ` ${prefixCls}-menu-item-expand`;\n if (!option.loading) {\n expandIconNode = <span class={`${prefixCls}-menu-item-expand-icon`}>{expandIcon}</span>;\n }\n }\n if (expandTrigger === 'hover' && hasChildren) {\n expandProps.on = {\n mouseenter: this.delayOnSelect.bind(this, onSelect),\n mouseleave: this.delayOnSelect.bind(this),\n click: onSelect,\n };\n }\n if (this.isActiveOption(option, menuIndex)) {\n menuItemCls += ` ${prefixCls}-menu-item-active`;\n expandProps.ref = this.getMenuItemRef(menuIndex);\n }\n if (option.disabled) {\n menuItemCls += ` ${prefixCls}-menu-item-disabled`;\n }\n let loadingIconNode = null;\n if (option.loading) {\n menuItemCls += ` ${prefixCls}-menu-item-loading`;\n loadingIconNode = loadingIcon || null;\n }\n let title = '';\n if (option.title) {\n title = option.title;\n } else if (typeof option[this.getFieldName('label')] === 'string') {\n title = option[this.getFieldName('label')];\n }\n expandProps.attrs.title = title;\n expandProps.class = menuItemCls;\n return (\n <li {...expandProps}>\n {option[this.getFieldName('label')]}\n {expandIconNode}\n {loadingIconNode}\n </li>\n );\n },\n\n getActiveOptions(values) {\n const activeValue = values || this.activeValue;\n const options = this.options;\n return arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n\n getShowOptions() {\n const { options } = this;\n const result = this.getActiveOptions()\n .map(activeOption => activeOption[this.getFieldName('children')])\n .filter(activeOption => !!activeOption);\n result.unshift(options);\n return result;\n },\n\n delayOnSelect(onSelect, ...args) {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (typeof onSelect === 'function') {\n this.delayTimer = setTimeout(() => {\n onSelect(args);\n this.delayTimer = null;\n }, 150);\n }\n },\n\n scrollActiveItemToView() {\n // scroll into view\n const optionsLength = this.getShowOptions().length;\n for (let i = 0; i < optionsLength; i++) {\n const itemComponent = this.$refs[`menuItems_${i}`];\n if (itemComponent) {\n const target = itemComponent;\n target.parentNode.scrollTop = target.offsetTop;\n }\n }\n },\n\n isActiveOption(option, menuIndex) {\n const { activeValue = [] } = this;\n return activeValue[menuIndex] === option[this.getFieldName('value')];\n },\n\n getMenuItemRef(index) {\n return `menuItems_${index}`;\n },\n },\n\n render() {\n const { prefixCls, dropdownMenuColumnStyle } = this;\n return (\n <div>\n {this.getShowOptions().map((options, menuIndex) => (\n <ul class={`${prefixCls}-menu`} key={menuIndex} style={dropdownMenuColumnStyle}>\n {options.map(option => this.getOption(option, menuIndex))}\n </ul>\n ))}\n </div>\n );\n },\n};\n","// based on rc-cascader 0.16.2\nimport Cascader from './Cascader';\nexport default Cascader;\n","// based on rc-checkbox 2.1.6\nexport { default } from './src/';\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport { getOptionProps, hasProp, initDefaultProps, getAttrs } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\n\nexport default {\n name: 'Checkbox',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n defaultChecked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n checked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n disabled: PropTypes.bool,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n // onChange: PropTypes.func,\n // onClick: PropTypes.func,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n readOnly: PropTypes.bool,\n autoFocus: PropTypes.bool,\n value: PropTypes.any,\n },\n {\n prefixCls: 'rc-checkbox',\n type: 'checkbox',\n defaultChecked: false,\n },\n ),\n data() {\n const checked = hasProp(this, 'checked') ? this.checked : this.defaultChecked;\n return {\n sChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.sChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.$refs.input && this.$refs.input.focus();\n }\n });\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n\n handleChange(e) {\n const props = getOptionProps(this);\n if (props.disabled) {\n return;\n }\n if (!('checked' in props)) {\n this.sChecked = e.target.checked;\n }\n this.$forceUpdate(); // change前,维持现有状态\n this.__emit('change', {\n target: {\n ...props,\n checked: e.target.checked,\n },\n stopPropagation() {\n e.stopPropagation();\n },\n preventDefault() {\n e.preventDefault();\n },\n nativeEvent: { ...e, shiftKey: this.eventShiftKey },\n });\n this.eventShiftKey = false;\n },\n onClick(e) {\n this.__emit('click', e);\n // onChange没能获取到shiftKey,使用onClick hack\n this.eventShiftKey = e.shiftKey;\n },\n },\n\n render() {\n const {\n prefixCls,\n name,\n id,\n type,\n disabled,\n readOnly,\n tabIndex,\n autoFocus,\n value,\n ...others\n } = getOptionProps(this);\n const attrs = getAttrs(this);\n const globalProps = Object.keys({ ...others, ...attrs }).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = others[key];\n }\n return prev;\n }, {});\n\n const { sChecked } = this;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-checked`]: sChecked,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <span class={classString}>\n <input\n name={name}\n id={id}\n type={type}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={tabIndex}\n class={`${prefixCls}-input`}\n checked={!!sChecked}\n autoFocus={autoFocus}\n ref=\"input\"\n value={value}\n {...{\n attrs: globalProps,\n on: {\n ...this.$listeners,\n change: this.handleChange,\n click: this.onClick,\n },\n }}\n />\n <span class={`${prefixCls}-inner`} />\n </span>\n );\n },\n};\n","import Checkbox from './Checkbox';\n\nexport default Checkbox;\n","// based on rc-collapse 1.10.2\nimport CollapsePanel from './src/Panel';\nimport Collapse from './src/Collapse';\nimport { collapseProps, panelProps } from './src/commonProps';\n\nCollapse.Panel = CollapsePanel;\n\nexport { collapseProps, panelProps };\nexport default Collapse;\n","import BaseMixin from '../../_util/BaseMixin';\nimport { hasProp, getPropsData, isEmptyElement, initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport openAnimationFactory from './openAnimationFactory';\nimport { collapseProps } from './commonProps';\n\nfunction _toArray(activeKey) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey;\n}\n\nexport default {\n name: 'Collapse',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps, {\n prefixCls: 'rc-collapse',\n accordion: false,\n destroyInactivePanel: false,\n }),\n data() {\n const { activeKey, defaultActiveKey, openAnimation, prefixCls } = this.$props;\n let currentActiveKey = defaultActiveKey;\n if (hasProp(this, 'activeKey')) {\n currentActiveKey = activeKey;\n }\n const currentOpenAnimations = openAnimation || openAnimationFactory(prefixCls);\n return {\n currentOpenAnimations,\n stateActiveKey: _toArray(currentActiveKey),\n };\n },\n watch: {\n activeKey(val) {\n this.setState({\n stateActiveKey: _toArray(val),\n });\n },\n openAnimation(val) {\n this.setState({\n currentOpenAnimations: val,\n });\n },\n },\n methods: {\n onClickItem(key) {\n let activeKey = this.stateActiveKey;\n if (this.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = [...activeKey];\n const index = activeKey.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n this.setActiveKey(activeKey);\n },\n getItems() {\n const activeKey = this.stateActiveKey;\n const { prefixCls, accordion, destroyInactivePanel, expandIcon } = this.$props;\n const newChildren = [];\n this.$slots.default.forEach((child, index) => {\n if (isEmptyElement(child)) return;\n const { header, headerClass, disabled } = getPropsData(child);\n let isActive = false;\n const key = child.key || String(index);\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n let panelEvents = {};\n if (!disabled && disabled !== '') {\n panelEvents = {\n itemClick: () => {\n this.onClickItem(key);\n },\n };\n }\n\n const props = {\n props: {\n header,\n headerClass,\n isActive,\n prefixCls,\n destroyInactivePanel,\n openAnimation: this.currentOpenAnimations,\n accordion,\n expandIcon,\n },\n on: {\n ...panelEvents,\n },\n };\n\n newChildren.push(cloneElement(child, props));\n });\n return newChildren;\n },\n setActiveKey(activeKey) {\n this.setState({ stateActiveKey: activeKey });\n this.$emit('change', this.accordion ? activeKey[0] : activeKey);\n },\n },\n render() {\n const { prefixCls, accordion } = this.$props;\n const collapseClassName = {\n [prefixCls]: true,\n };\n return (\n <div class={collapseClassName} role={accordion ? 'tablist' : null}>\n {this.getItems()}\n </div>\n );\n },\n};\n","import PanelContent from './PanelContent';\nimport { initDefaultProps, getComponentFromProp } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport { panelProps } from './commonProps';\n\nexport default {\n name: 'Panel',\n props: initDefaultProps(panelProps, {\n showArrow: true,\n isActive: false,\n destroyInactivePanel: false,\n headerClass: '',\n forceRender: false,\n }),\n methods: {\n handleItemClick() {\n this.$emit('itemClick');\n },\n handleKeyPress(e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n this.handleItemClick();\n }\n },\n },\n render() {\n const {\n prefixCls,\n headerClass,\n isActive,\n showArrow,\n destroyInactivePanel,\n disabled,\n openAnimation,\n accordion,\n forceRender,\n expandIcon,\n } = this.$props;\n const { $slots } = this;\n\n const transitionProps = {\n props: Object.assign({\n appear: true,\n css: false,\n }),\n on: { ...openAnimation },\n };\n const headerCls = {\n [`${prefixCls}-header`]: true,\n [headerClass]: headerClass,\n };\n const header = getComponentFromProp(this, 'header');\n const itemCls = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-active`]: isActive,\n [`${prefixCls}-item-disabled`]: disabled,\n };\n let icon = null;\n if (showArrow && typeof expandIcon === 'function') {\n icon = cloneElement(expandIcon(this.$props));\n }\n return (\n <div class={itemCls} role=\"tablist\">\n <div\n class={headerCls}\n onClick={this.handleItemClick.bind(this)}\n onKeypress={this.handleKeyPress}\n role={accordion ? 'tab' : 'button'}\n tabIndex={disabled ? -1 : 0}\n aria-expanded={isActive}\n >\n {showArrow && (icon || <i class=\"arrow\" />)}\n {header}\n </div>\n <transition {...transitionProps}>\n <PanelContent\n v-show={isActive}\n prefixCls={prefixCls}\n isActive={isActive}\n destroyInactivePanel={destroyInactivePanel}\n forceRender={forceRender}\n role={accordion ? 'tabpanel' : null}\n >\n {$slots.default}\n </PanelContent>\n </transition>\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'PanelContent',\n props: {\n prefixCls: PropTypes.string,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n forceRender: PropTypes.bool,\n role: PropTypes.any,\n },\n data() {\n return {\n _isActive: undefined,\n };\n },\n render() {\n this._isActive = this.forceRender || this._isActive || this.isActive;\n if (!this._isActive) {\n return null;\n }\n const { prefixCls, isActive, destroyInactivePanel, forceRender, role } = this.$props;\n const { $slots } = this;\n const contentCls = {\n [`${prefixCls}-content`]: true,\n [`${prefixCls}-content-active`]: isActive,\n };\n const child =\n !forceRender && !isActive && destroyInactivePanel ? null : (\n <div class={`${prefixCls}-content-box`}>{$slots.default}</div>\n );\n return (\n <div class={contentCls} role={role}>\n {child}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nconst collapseProps = {\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n accordion: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n bordered: PropTypes.bool,\n expandIcon: PropTypes.func,\n openAnimation: PropTypes.object,\n};\n\nconst panelProps = {\n openAnimation: PropTypes.object,\n prefixCls: PropTypes.string,\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.node]),\n headerClass: PropTypes.string,\n showArrow: PropTypes.bool,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n disabled: PropTypes.bool,\n accordion: PropTypes.bool,\n forceRender: PropTypes.bool,\n expandIcon: PropTypes.func,\n};\n\nexport { collapseProps, panelProps };\n","import cssAnimation from '../../_util/css-animation';\n\nfunction animate(node, show, transitionName, done) {\n let height;\n return cssAnimation(node, transitionName, {\n start() {\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n } else {\n height = node.offsetHeight;\n node.style.height = 0;\n }\n },\n active() {\n node.style.height = `${show ? height : 0}px`;\n },\n end() {\n node.style.height = '';\n done();\n },\n });\n}\n\nfunction animation(prefixCls) {\n return {\n enter(node, done) {\n return animate(node, true, `${prefixCls}-anim`, done);\n },\n leave(node, done) {\n return animate(node, false, `${prefixCls}-anim`, done);\n },\n };\n}\n\nexport default animation;\n","import { getComponentFromProp } from '../_util/props-util';\nimport KeyCode from '../_util/KeyCode';\nimport contains from '../_util/Dom/contains';\nimport LazyRenderBox from './LazyRenderBox';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport getScrollBarSize from '../_util/getScrollBarSize';\nimport getDialogPropTypes from './IDialogPropTypes';\nconst IDialogPropTypes = getDialogPropTypes();\n\nlet uuid = 0;\nlet openCount = 0;\n\n/* eslint react/no-is-mounted:0 */\nfunction noop() {}\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction setTransformOrigin(node, value) {\n const style = node.style;\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(prefix => {\n style[`${prefix}TransformOrigin`] = value;\n });\n style[`transformOrigin`] = value;\n}\n\nfunction offset(el) {\n const rect = el.getBoundingClientRect();\n const pos = {\n left: rect.left,\n top: rect.top,\n };\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}\nconst initDefaultProps = (propTypes, defaultProps) => {\n return Object.keys(defaultProps).map(k => propTypes[k].def(defaultProps[k]));\n};\nexport default {\n mixins: [BaseMixin],\n props: {\n ...IDialogPropTypes,\n ...initDefaultProps(IDialogPropTypes, {\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n }),\n },\n data() {\n return {\n destroyPopup: false,\n };\n },\n\n watch: {\n visible(val) {\n if (val) {\n this.destroyPopup = false;\n }\n this.$nextTick(() => {\n this.updatedCallback(!val);\n });\n },\n },\n\n // private inTransition: boolean;\n // private titleId: string;\n // private openTime: number;\n // private lastOutSideFocusNode: HTMLElement | null;\n // private wrap: HTMLElement;\n // private dialog: any;\n // private sentinel: HTMLElement;\n // private bodyIsOverflowing: boolean;\n // private scrollbarWidth: number;\n\n beforeMount() {\n this.inTransition = false;\n this.titleId = `rcDialogTitle${uuid++}`;\n },\n mounted() {\n this.$nextTick(() => {\n this.updatedCallback(false);\n });\n },\n beforeDestroy() {\n if (this.visible || this.inTransition) {\n this.removeScrollingEffect();\n }\n },\n methods: {\n updatedCallback(visible) {\n const mousePosition = this.mousePosition;\n if (this.visible) {\n // first show\n if (!visible) {\n this.openTime = Date.now();\n // this.lastOutSideFocusNode = document.activeElement\n this.addScrollingEffect();\n // this.$refs.wrap.focus()\n this.tryFocus();\n const dialogNode = this.$refs.dialog.$el;\n if (mousePosition) {\n const elOffset = offset(dialogNode);\n setTransformOrigin(\n dialogNode,\n `${mousePosition.x - elOffset.left}px ${mousePosition.y - elOffset.top}px`,\n );\n } else {\n setTransformOrigin(dialogNode, '');\n }\n }\n } else if (visible) {\n this.inTransition = true;\n if (this.mask && this.lastOutSideFocusNode) {\n try {\n this.lastOutSideFocusNode.focus();\n } catch (e) {\n this.lastOutSideFocusNode = null;\n }\n this.lastOutSideFocusNode = null;\n }\n }\n },\n tryFocus() {\n if (!contains(this.$refs.wrap, document.activeElement)) {\n this.lastOutSideFocusNode = document.activeElement;\n this.$refs.sentinelStart.focus();\n }\n },\n onAnimateLeave() {\n const { afterClose, destroyOnClose } = this;\n // need demo?\n // https://github.com/react-component/dialog/pull/28\n if (this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n if (destroyOnClose) {\n this.destroyPopup = true;\n }\n this.inTransition = false;\n this.removeScrollingEffect();\n if (afterClose) {\n afterClose();\n }\n },\n onMaskClick(e) {\n // android trigger click on open (fastclick??)\n if (Date.now() - this.openTime < 300) {\n return;\n }\n if (e.target === e.currentTarget) {\n this.close(e);\n }\n },\n onKeydown(e) {\n const props = this.$props;\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.close(e);\n return;\n }\n // keep focus inside dialog\n if (props.visible) {\n if (e.keyCode === KeyCode.TAB) {\n const activeElement = document.activeElement;\n const sentinelStart = this.$refs.sentinelStart;\n if (e.shiftKey) {\n if (activeElement === sentinelStart) {\n this.$refs.sentinelEnd.focus();\n }\n } else if (activeElement === this.$refs.sentinelEnd) {\n sentinelStart.focus();\n }\n }\n }\n },\n getDialogElement() {\n const {\n closable,\n prefixCls,\n width,\n height,\n title,\n footer: tempFooter,\n bodyStyle,\n visible,\n bodyProps,\n } = this;\n const dest = {};\n if (width !== undefined) {\n dest.width = typeof width === 'number' ? `${width}px` : width;\n }\n if (height !== undefined) {\n dest.height = typeof height === 'number' ? `${height}px` : height;\n }\n\n let footer;\n if (tempFooter) {\n footer = (\n <div key=\"footer\" class={`${prefixCls}-footer`} ref=\"footer\">\n {tempFooter}\n </div>\n );\n }\n\n let header;\n if (title) {\n header = (\n <div key=\"header\" class={`${prefixCls}-header`} ref=\"header\">\n <div class={`${prefixCls}-title`} id={this.titleId}>\n {title}\n </div>\n </div>\n );\n }\n\n let closer;\n if (closable) {\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n closer = (\n <button\n key=\"close\"\n onClick={this.close || noop}\n aria-label=\"Close\"\n class={`${prefixCls}-close`}\n >\n {closeIcon || <span class={`${prefixCls}-close-x`} />}\n </button>\n );\n }\n\n const style = { ...this.dialogStyle, ...dest };\n const sentinelStyle = { width: 0, height: 0, overflow: 'hidden' };\n const cls = {\n [prefixCls]: true,\n ...this.dialogClass,\n };\n const transitionName = this.getTransitionName();\n const dialogElement = (\n <LazyRenderBox\n v-show={visible}\n key=\"dialog-element\"\n role=\"document\"\n ref=\"dialog\"\n style={style}\n class={cls}\n >\n <div tabIndex={0} ref=\"sentinelStart\" style={sentinelStyle}>\n sentinelStart\n </div>\n <div class={`${prefixCls}-content`}>\n {closer}\n {header}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle} ref=\"body\" {...bodyProps}>\n {this.$slots.default}\n </div>\n {footer}\n </div>\n <div tabIndex={0} ref=\"sentinelEnd\" style={sentinelStyle}>\n sentinelEnd\n </div>\n </LazyRenderBox>\n );\n const dialogTransitionProps = getTransitionProps(transitionName, {\n afterLeave: this.onAnimateLeave,\n });\n return (\n <transition key=\"dialog\" {...dialogTransitionProps}>\n {visible || !this.destroyPopup ? dialogElement : null}\n </transition>\n );\n },\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n getWrapStyle() {\n return { ...this.getZIndexStyle(), ...this.wrapStyle };\n },\n getMaskStyle() {\n return { ...this.getZIndexStyle(), ...this.maskStyle };\n },\n getMaskElement() {\n const props = this.$props;\n let maskElement;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getMaskStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n {...props.maskProps}\n />\n );\n if (maskTransition) {\n const maskTransitionProps = getTransitionProps(maskTransition);\n maskElement = (\n <transition key=\"mask\" {...maskTransitionProps}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n setScrollbar() {\n if (this.bodyIsOverflowing && this.scrollbarWidth !== undefined) {\n document.body.style.paddingRight = `${this.scrollbarWidth}px`;\n }\n },\n addScrollingEffect() {\n openCount++;\n if (openCount !== 1) {\n return;\n }\n this.checkScrollbar();\n this.setScrollbar();\n document.body.style.overflow = 'hidden';\n // this.adjustDialog();\n },\n removeScrollingEffect() {\n openCount--;\n if (openCount !== 0) {\n return;\n }\n document.body.style.overflow = '';\n this.resetScrollbar();\n // this.resetAdjustments();\n },\n close(e) {\n this.__emit('close', e);\n },\n checkScrollbar() {\n let fullWindowWidth = window.innerWidth;\n if (!fullWindowWidth) {\n // workaround for missing window.innerWidth in IE8\n const documentElementRect = document.documentElement.getBoundingClientRect();\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth;\n if (this.bodyIsOverflowing) {\n this.scrollbarWidth = getScrollBarSize();\n }\n },\n resetScrollbar() {\n document.body.style.paddingRight = '';\n },\n adjustDialog() {\n if (this.$refs.wrap && this.scrollbarWidth !== undefined) {\n const modalIsOverflowing =\n this.$refs.wrap.scrollHeight > document.documentElement.clientHeight;\n this.$refs.wrap.style.paddingLeft = `${\n !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : ''\n }px`;\n this.$refs.wrap.style.paddingRight = `${\n this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n }px`;\n }\n },\n resetAdjustments() {\n if (this.$refs.wrap) {\n this.$refs.wrap.style.paddingLeft = this.$refs.wrap.style.paddingLeft = '';\n }\n },\n },\n render() {\n const { prefixCls, maskClosable, visible, wrapClassName, title, wrapProps } = this;\n const style = this.getWrapStyle();\n // clear hide display\n // and only set display after async anim, not here for hide\n if (visible) {\n style.display = null;\n }\n return (\n <div>\n {this.getMaskElement()}\n <div\n tabIndex={-1}\n onKeydown={this.onKeydown}\n class={`${prefixCls}-wrap ${wrapClassName || ''}`}\n ref=\"wrap\"\n onClick={maskClosable ? this.onMaskClick : noop}\n role=\"dialog\"\n aria-labelledby={title ? this.titleId : null}\n style={style}\n {...wrapProps}\n >\n {this.getDialogElement()}\n </div>\n </div>\n );\n },\n};\n","import Dialog from './Dialog';\nimport ContainerRender from '../_util/ContainerRender';\nimport getDialogPropTypes from './IDialogPropTypes';\nimport { getStyle, getClass } from '../_util/props-util';\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = {\n props: {\n ...IDialogPropTypes,\n visible: IDialogPropTypes.visible.def(false),\n },\n data() {\n this.renderComponent = () => {};\n this.removeContainer = () => {};\n return {};\n },\n\n beforeDestroy() {\n if (this.visible) {\n this.renderComponent({\n afterClose: this.removeContainer,\n visible: false,\n on: {\n close() {},\n },\n });\n } else {\n this.removeContainer();\n }\n },\n methods: {\n getComponent(extra = {}) {\n const { $attrs, $listeners, $props, $slots } = this;\n const { on, ...otherProps } = extra;\n const dialogProps = {\n props: {\n ...$props,\n dialogClass: getClass(this),\n dialogStyle: getStyle(this),\n ...otherProps,\n },\n attrs: $attrs,\n ref: '_component',\n key: 'dialog',\n on: {\n ...$listeners,\n ...on,\n },\n };\n return <Dialog {...dialogProps}>{$slots.default}</Dialog>;\n },\n\n getContainer2() {\n const container = document.createElement('div');\n if (this.getContainer) {\n this.getContainer().appendChild(container);\n } else {\n document.body.appendChild(container);\n }\n return container;\n },\n },\n\n render() {\n const { visible } = this;\n return (\n <ContainerRender\n parent={this}\n visible={visible}\n autoDestroy={false}\n getComponent={this.getComponent}\n getContainer={this.getContainer2}\n children={({ renderComponent, removeContainer }) => {\n this.renderComponent = renderComponent;\n this.removeContainer = removeContainer;\n return null;\n }}\n />\n );\n },\n};\n\nexport default DialogWrap;\n","import PropTypes from '../_util/vue-types';\n\nfunction IDialogPropTypes() {\n return {\n keyboard: PropTypes.bool,\n mask: PropTypes.bool,\n afterClose: PropTypes.func,\n // onClose: PropTypes. (e: SyntheticEvent<HTMLDivElement>) =>any,\n closable: PropTypes.bool,\n maskClosable: PropTypes.bool,\n visible: PropTypes.bool,\n destroyOnClose: PropTypes.bool,\n mousePosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).loose,\n title: PropTypes.any,\n footer: PropTypes.any,\n transitionName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.any,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n wrapClassName: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n zIndex: PropTypes.number,\n bodyProps: PropTypes.any,\n maskProps: PropTypes.any,\n wrapProps: PropTypes.any,\n getContainer: PropTypes.func,\n dialogStyle: PropTypes.object.def({}),\n dialogClass: PropTypes.object.def({}),\n closeIcon: PropTypes.any,\n };\n}\n\nexport default IDialogPropTypes;\n","import PropTypes from '../_util/vue-types';\n\nconst ILazyRenderBoxPropTypes = {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n};\n\nexport default {\n props: ILazyRenderBoxPropTypes,\n render() {\n return <div>{this.$slots.default}</div>;\n },\n};\n","// based on vc-dialog 7.2.1\nimport DialogWrap from './DialogWrap';\nexport default DialogWrap;\n","import classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, getEvents } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport ContainerRender from '../../_util/ContainerRender';\nimport getScrollBarSize from '../../_util/getScrollBarSize';\nimport drawerProps from './drawerProps';\nimport {\n dataToArray,\n transitionEnd,\n transitionStr,\n addEventListener,\n removeEventListener,\n transformArguments,\n isNumeric,\n} from './utils';\n\nfunction noop() {}\n\nconst currentDrawer = {};\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nVue.use(ref, { name: 'ant-ref' });\nconst Drawer = {\n mixins: [BaseMixin],\n props: initDefaultProps(drawerProps, {\n prefixCls: 'drawer',\n placement: 'left',\n getContainer: 'body',\n level: 'all',\n duration: '.3s',\n ease: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n firstEnter: false, // 记录首次进入.\n showMask: true,\n handler: true,\n maskStyle: {},\n wrapperClassName: '',\n className: '',\n }),\n data() {\n this.levelDom = [];\n this.contentDom = null;\n this.maskDom = null;\n this.handlerdom = null;\n this.mousePos = null;\n this.sFirstEnter = this.firstEnter;\n this.timeout = null;\n this.children = null;\n this.drawerId = Number(\n (Date.now() + Math.random()).toString().replace('.', Math.round(Math.random() * 9)),\n ).toString(16);\n const open = this.open !== undefined ? this.open : !!this.defaultOpen;\n currentDrawer[this.drawerId] = open;\n this.orignalOpen = this.open;\n this.preProps = { ...this.$props };\n return {\n sOpen: open,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (!windowIsUndefined) {\n let passiveSupported = false;\n window.addEventListener(\n 'test',\n null,\n Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true;\n return null;\n },\n }),\n );\n this.passive = passiveSupported ? { passive: false } : false;\n }\n const open = this.getOpen();\n if (this.handler || open || this.sFirstEnter) {\n this.getDefault(this.$props);\n if (open) {\n this.isOpenChange = true;\n }\n this.$forceUpdate();\n }\n });\n },\n watch: {\n open(val) {\n if (val !== undefined && val !== this.preProps.open) {\n this.isOpenChange = true;\n // 没渲染 dom 时,获取默认数据;\n if (!this.container) {\n this.getDefault(this.$props);\n }\n this.setState({\n sOpen: open,\n });\n }\n this.preProps.open = val;\n },\n placement(val) {\n if (val !== this.preProps.placement) {\n // test 的 bug, 有动画过场,删除 dom\n this.contentDom = null;\n }\n this.preProps.placement = val;\n },\n level(val) {\n if (this.preProps.level !== val) {\n this.getParentAndLevelDom(this.$props);\n }\n this.preProps.level = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n // dom 没渲染时,重走一遍。\n if (!this.sFirstEnter && this.container) {\n this.$forceUpdate();\n this.sFirstEnter = true;\n }\n });\n },\n beforeDestroy() {\n delete currentDrawer[this.drawerId];\n delete this.isOpenChange;\n if (this.container) {\n if (this.sOpen) {\n this.setLevelDomTransform(false, true);\n }\n document.body.style.overflow = '';\n // 拦不住。。直接删除;\n if (this.getSelfContainer) {\n this.container.parentNode.removeChild(this.container);\n }\n }\n this.sFirstEnter = false;\n clearTimeout(this.timeout);\n // 需要 didmount 后也会渲染,直接 unmount 将不会渲染,加上判断.\n if (this.renderComponent) {\n this.renderComponent({\n afterClose: this.removeContainer,\n onClose() {},\n visible: false,\n });\n }\n },\n methods: {\n onMaskTouchEnd(e) {\n this.$emit('maskClick', e);\n this.onTouchEnd(e, true);\n },\n onIconTouchEnd(e) {\n this.$emit('handleClick', e);\n this.onTouchEnd(e);\n },\n onTouchEnd(e, close) {\n if (this.open !== undefined) {\n return;\n }\n const open = close || this.sOpen;\n this.isOpenChange = true;\n this.setState({\n sOpen: !open,\n });\n },\n onWrapperTransitionEnd(e) {\n if (e.target === this.contentWrapper) {\n this.dom.style.transition = '';\n if (!this.sOpen && this.getCurrentDrawerSome()) {\n document.body.style.overflowX = '';\n if (this.maskDom) {\n this.maskDom.style.left = '';\n this.maskDom.style.width = '';\n }\n }\n }\n },\n getDefault(props) {\n this.getParentAndLevelDom(props);\n if (props.getContainer || props.parent) {\n this.container = this.defaultGetContainer();\n }\n },\n getCurrentDrawerSome() {\n return !Object.keys(currentDrawer).some(key => currentDrawer[key]);\n },\n getSelfContainer() {\n return this.container;\n },\n getParentAndLevelDom(props) {\n if (windowIsUndefined) {\n return;\n }\n const { level, getContainer } = props;\n this.levelDom = [];\n if (getContainer) {\n if (typeof getContainer === 'string') {\n const dom = document.querySelectorAll(getContainer)[0];\n this.parent = dom;\n }\n if (typeof getContainer === 'function') {\n this.parent = getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n this.parent = getContainer;\n }\n }\n if (!getContainer && this.container) {\n this.parent = this.container.parentNode;\n }\n if (level === 'all') {\n const children = Array.prototype.slice.call(this.parent.children);\n children.forEach(child => {\n if (\n child.nodeName !== 'SCRIPT' &&\n child.nodeName !== 'STYLE' &&\n child.nodeName !== 'LINK' &&\n child !== this.container\n ) {\n this.levelDom.push(child);\n }\n });\n } else if (level) {\n dataToArray(level).forEach(key => {\n document.querySelectorAll(key).forEach(item => {\n this.levelDom.push(item);\n });\n });\n }\n },\n setLevelDomTransform(open, openTransition, placementName, value) {\n const { placement, levelMove, duration, ease, getContainer } = this.$props;\n if (!windowIsUndefined) {\n this.levelDom.forEach(dom => {\n if (this.isOpenChange || openTransition) {\n /* eslint no-param-reassign: \"error\" */\n dom.style.transition = `transform ${duration} ${ease}`;\n addEventListener(dom, transitionEnd, this.trnasitionEnd);\n let levelValue = open ? value : 0;\n if (levelMove) {\n const $levelMove = transformArguments(levelMove, { target: dom, open });\n levelValue = open ? $levelMove[0] : $levelMove[1] || 0;\n }\n const $value = typeof levelValue === 'number' ? `${levelValue}px` : levelValue;\n const placementPos =\n placement === 'left' || placement === 'top' ? $value : `-${$value}`;\n dom.style.transform = levelValue ? `${placementName}(${placementPos})` : '';\n dom.style.msTransform = levelValue ? `${placementName}(${placementPos})` : '';\n }\n });\n // 处理 body 滚动\n if (getContainer === 'body') {\n const eventArray = ['touchstart'];\n const domArray = [document.body, this.maskDom, this.handlerdom, this.contentDom];\n const right =\n document.body.scrollHeight >\n (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth\n ? getScrollBarSize(1)\n : 0;\n let widthTransition = `width ${duration} ${ease}`;\n const trannsformTransition = `transform ${duration} ${ease}`;\n if (open && document.body.style.overflow !== 'hidden') {\n document.body.style.overflow = 'hidden';\n if (right) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transition = 'none';\n switch (placement) {\n case 'right':\n this.dom.style.transform = `translateX(-${right}px)`;\n this.dom.style.msTransform = `translateX(-${right}px)`;\n break;\n case 'top':\n case 'bottom':\n this.dom.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transform = 'translateZ(0)';\n break;\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${widthTransition}`;\n this.dom.style.width = '';\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n });\n }\n // 手机禁滚\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n addEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n } else if (this.getCurrentDrawerSome()) {\n document.body.style.overflow = '';\n if ((this.isOpenChange || openTransition) && right) {\n document.body.style.position = '';\n document.body.style.width = '';\n if (transitionStr) {\n document.body.style.overflowX = 'hidden';\n }\n this.dom.style.transition = 'none';\n let heightTransition;\n switch (placement) {\n case 'right': {\n this.dom.style.transform = `translateX(${right}px)`;\n this.dom.style.msTransform = `translateX(${right}px)`;\n this.dom.style.width = '100%';\n widthTransition = `width 0s ${ease} ${duration}`;\n if (this.maskDom) {\n this.maskDom.style.left = `-${right}px`;\n this.maskDom.style.width = `calc(100% + ${right}px)`;\n }\n break;\n }\n case 'top':\n case 'bottom': {\n this.dom.style.width = `calc(100% + ${right}px)`;\n this.dom.style.height = '100%';\n this.dom.style.transform = 'translateZ(0)';\n heightTransition = `height 0s ${ease} ${duration}`;\n break;\n }\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${\n heightTransition ? `${heightTransition},` : ''\n }${widthTransition}`;\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n this.dom.style.width = '';\n this.dom.style.height = '';\n });\n }\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n removeEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n }\n }\n }\n const { change } = this.$listeners;\n if (change && this.isOpenChange && this.sFirstEnter) {\n change(open);\n this.isOpenChange = false;\n }\n },\n getChildToRender(open) {\n const {\n className,\n prefixCls,\n placement,\n handler,\n showMask,\n maskStyle,\n width,\n height,\n wrapStyle,\n } = this.$props;\n const children = this.$slots.default;\n const wrapperClassname = classnames(prefixCls, {\n [`${prefixCls}-${placement}`]: true,\n [`${prefixCls}-open`]: open,\n [className]: !!className,\n });\n const isOpenChange = this.isOpenChange;\n const isHorizontal = placement === 'left' || placement === 'right';\n const placementName = `translate${isHorizontal ? 'X' : 'Y'}`;\n // 百分比与像素动画不同步,第一次打用后全用像素动画。\n // const defaultValue = !this.contentDom || !level ? '100%' : `${value}px`;\n const placementPos = placement === 'left' || placement === 'top' ? '-100%' : '100%';\n const transform = open ? '' : `${placementName}(${placementPos})`;\n if (isOpenChange === undefined || isOpenChange) {\n const contentValue = this.contentDom\n ? this.contentDom.getBoundingClientRect()[isHorizontal ? 'width' : 'height']\n : 0;\n const value = (isHorizontal ? width : height) || contentValue;\n this.setLevelDomTransform(open, false, placementName, value);\n }\n let handlerChildren;\n if (handler !== false) {\n const handlerDefalut = (\n <div class=\"drawer-handle\">\n <i class=\"drawer-handle-icon\" />\n </div>\n );\n const { handler: handlerSlot } = this;\n const handlerSlotVnode = (handlerSlot && handlerSlot[0]) || handlerDefalut;\n const { click: handleIconClick } = getEvents(handlerSlotVnode);\n handlerChildren = cloneElement(handlerSlotVnode, {\n on: {\n click: e => {\n handleIconClick && handleIconClick();\n this.onIconTouchEnd(e);\n },\n },\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.handlerdom = c;\n },\n },\n ],\n });\n }\n\n const domContProps = {\n class: wrapperClassname,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.dom = c;\n },\n },\n ],\n on: {\n transitionend: this.onWrapperTransitionEnd,\n },\n style: wrapStyle,\n };\n const directivesMaskDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.maskDom = c;\n },\n },\n ];\n const directivesContentWrapper = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentWrapper = c;\n },\n },\n ];\n const directivesContentDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentDom = c;\n },\n },\n ];\n return (\n <div {...domContProps}>\n {showMask && (\n <div\n class={`${prefixCls}-mask`}\n onClick={this.onMaskTouchEnd}\n style={maskStyle}\n {...{ directives: directivesMaskDom }}\n />\n )}\n <div\n class={`${prefixCls}-content-wrapper`}\n style={{\n transform,\n msTransform: transform,\n width: isNumeric(width) ? `${width}px` : width,\n height: isNumeric(height) ? `${height}px` : height,\n }}\n {...{ directives: directivesContentWrapper }}\n >\n <div\n class={`${prefixCls}-content`}\n {...{ directives: directivesContentDom }}\n onTouchstart={open ? this.removeStartHandler : noop} // 跑用例用\n onTouchmove={open ? this.removeMoveHandler : noop} // 跑用例用\n >\n {children}\n </div>\n {handlerChildren}\n </div>\n </div>\n );\n },\n getOpen() {\n return this.open !== undefined ? this.open : this.sOpen;\n },\n getTouchParentScroll(root, currentTarget, differX, differY) {\n if (!currentTarget || currentTarget === document) {\n return false;\n }\n // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n const isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n const isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n\n const scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n const scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n /**\n * <div style=\"height: 300px\">\n * <div style=\"height: 900px\"></div>\n * </div>\n * 在没设定 overflow: auto 或 scroll 时,currentTarget 里获取不到 scrollTop 或 scrollLeft,\n * 预先用 scrollTo 来滚动,如果取出的值跟滚动前取出不同,则 currnetTarget 被设定了 overflow; 否则就是上面这种。\n */\n const t = currentTarget.scrollTop;\n const l = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft + 1, currentTarget.scrollTop + 1);\n }\n const currentT = currentTarget.scrollTop;\n const currentL = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft - 1, currentTarget.scrollTop - 1);\n }\n if (\n (isY &&\n (!scrollY ||\n !(currentT - t) ||\n (scrollY &&\n ((currentTarget.scrollTop >= scrollY && differY < 0) ||\n (currentTarget.scrollTop <= 0 && differY > 0))))) ||\n (isX &&\n (!scrollX ||\n !(currentL - l) ||\n (scrollX &&\n ((currentTarget.scrollLeft >= scrollX && differX < 0) ||\n (currentTarget.scrollLeft <= 0 && differX > 0)))))\n ) {\n return this.getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n return false;\n },\n removeStartHandler(e) {\n if (e.touches.length > 1) {\n return;\n }\n this.startPos = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n },\n removeMoveHandler(e) {\n if (e.changedTouches.length > 1) {\n return;\n }\n const currentTarget = e.currentTarget;\n const differX = e.changedTouches[0].clientX - this.startPos.x;\n const differY = e.changedTouches[0].clientY - this.startPos.y;\n if (\n currentTarget === this.maskDom ||\n currentTarget === this.handlerdom ||\n (currentTarget === this.contentDom &&\n this.getTouchParentScroll(currentTarget, e.target, differX, differY))\n ) {\n e.preventDefault();\n }\n },\n trnasitionEnd(e) {\n removeEventListener(e.target, transitionEnd, this.trnasitionEnd);\n e.target.style.transition = '';\n },\n defaultGetContainer() {\n if (windowIsUndefined) {\n return null;\n }\n const container = document.createElement('div');\n this.parent.appendChild(container);\n if (this.wrapperClassName) {\n container.className = this.wrapperClassName;\n }\n return container;\n },\n },\n\n render() {\n const { getContainer, wrapperClassName } = this.$props;\n const open = this.getOpen();\n currentDrawer[this.drawerId] = open ? this.container : open;\n const children = this.getChildToRender(this.sFirstEnter ? open : false);\n if (!getContainer) {\n const directives = [\n {\n name: 'ant-ref',\n value: c => {\n this.container = c;\n },\n },\n ];\n return (\n <div class={wrapperClassName} {...{ directives }}>\n {children}\n </div>\n );\n }\n if (!this.container || (!open && !this.sFirstEnter)) {\n return null;\n }\n return (\n <ContainerRender\n parent={this}\n visible\n autoMount\n autoDestroy={false}\n getComponent={() => children}\n getContainer={this.getSelfContainer}\n children={({ renderComponent, removeContainer }) => {\n this.renderComponent = renderComponent;\n this.removeContainer = removeContainer;\n return null;\n }}\n />\n );\n },\n};\n\nexport default Drawer;\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n wrapperClassName: PropTypes.string,\n width: PropTypes.any,\n height: PropTypes.any,\n defaultOpen: PropTypes.bool,\n firstEnter: PropTypes.bool,\n open: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: PropTypes.string,\n level: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n levelMove: PropTypes.oneOfType([PropTypes.number, PropTypes.func, PropTypes.array]),\n ease: PropTypes.string,\n duration: PropTypes.string,\n getContainer: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object,\n PropTypes.bool,\n ]),\n handler: PropTypes.any,\n showMask: PropTypes.bool,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n wrapStyle: PropTypes.object,\n};\n","// base in 1.7.7\n// export this package's api\nimport Drawer from './Drawer';\n\nexport default Drawer;\n","export function dataToArray(vars) {\n if (Array.isArray(vars)) {\n return vars;\n }\n return [vars];\n}\nconst transitionEndObject = {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n};\nexport const transitionStr = Object.keys(transitionEndObject).filter(key => {\n if (typeof document === 'undefined') {\n return false;\n }\n const html = document.getElementsByTagName('html')[0];\n return key in (html ? html.style : {});\n})[0];\nexport const transitionEnd = transitionEndObject[transitionStr];\n\nexport function addEventListener(target, eventType, callback, options) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.attachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function removeEventListener(target, eventType, callback, options) {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.detachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function transformArguments(arg, cb) {\n let result;\n if (typeof arg === 'function') {\n result = arg(cb);\n } else {\n result = arg;\n }\n if (Array.isArray(result)) {\n if (result.length === 2) {\n return result;\n }\n return [result[0], result[1]];\n }\n return [result];\n}\n\nexport const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value); // eslint-disable-line\n};\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport placements from './placements';\nimport { hasProp, getEvents, getOptionProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n minOverlayWidthMatchTrigger: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-dropdown'),\n transitionName: PropTypes.string,\n overlayClassName: PropTypes.string.def(''),\n animation: PropTypes.any,\n align: PropTypes.object,\n overlayStyle: PropTypes.object.def({}),\n placement: PropTypes.string.def('bottomLeft'),\n trigger: PropTypes.array.def(['hover']),\n alignPoint: PropTypes.bool,\n showAction: PropTypes.array.def([]),\n hideAction: PropTypes.array.def([]),\n getPopupContainer: PropTypes.func,\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool.def(false),\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n },\n data() {\n let sVisible = this.defaultVisible;\n if (hasProp(this, 'visible')) {\n sVisible = this.visible;\n }\n return {\n sVisible,\n };\n },\n watch: {\n visible(val) {\n if (val !== undefined) {\n this.setState({\n sVisible: val,\n });\n }\n },\n },\n methods: {\n onClick(e) {\n // do no call onVisibleChange, if you need click to hide, use onClick and control visible\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: false,\n });\n }\n this.$emit('overlayClick', e);\n if (this.childOriginEvents.click) {\n this.childOriginEvents.click(e);\n }\n },\n\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: visible,\n });\n }\n this.__emit('visibleChange', visible);\n },\n\n getMinOverlayWidthMatchTrigger() {\n const props = getOptionProps(this);\n const { minOverlayWidthMatchTrigger, alignPoint } = props;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n },\n\n getMenuElement() {\n const { onClick, prefixCls, $slots } = this;\n this.childOriginEvents = getEvents($slots.overlay[0]);\n const extraOverlayProps = {\n props: {\n prefixCls: `${prefixCls}-menu`,\n getPopupContainer: () => this.getPopupDomNode(),\n },\n on: {\n click: onClick,\n },\n };\n return cloneElement($slots.overlay[0], extraOverlayProps);\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n\n afterVisibleChange(visible) {\n if (visible && this.getMinOverlayWidthMatchTrigger()) {\n const overlayNode = this.getPopupDomNode();\n const rootNode = this.$el;\n if (rootNode && overlayNode && rootNode.offsetWidth > overlayNode.offsetWidth) {\n overlayNode.style.minWidth = `${rootNode.offsetWidth}px`;\n if (\n this.$refs.trigger &&\n this.$refs.trigger._component &&\n this.$refs.trigger._component.alignInstance\n ) {\n this.$refs.trigger._component.alignInstance.forceAlign();\n }\n }\n }\n },\n },\n\n render() {\n const {\n prefixCls,\n transitionName,\n animation,\n align,\n placement,\n getPopupContainer,\n showAction,\n hideAction,\n overlayClassName,\n overlayStyle,\n trigger,\n ...otherProps\n } = this.$props;\n let triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextmenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n const triggerProps = {\n props: {\n ...otherProps,\n prefixCls,\n popupClassName: overlayClassName,\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: this.sVisible,\n afterPopupVisibleChange: this.afterVisibleChange,\n getPopupContainer: getPopupContainer,\n },\n on: {\n popupVisibleChange: this.onVisibleChange,\n },\n ref: 'trigger',\n };\n const child = this.$slots.default && this.$slots.default[0];\n return (\n <Trigger {...triggerProps}>\n {child && !child.tag ? <span>{child}</span> : child}\n <template slot=\"popup\">{this.$slots.overlay && this.getMenuElement()}</template>\n </Trigger>\n );\n },\n};\n","// base in 2.2.1\nimport Dropdown from './Dropdown';\nexport default Dropdown;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n};\n\nexport default placements;\n","import AsyncValidator from 'async-validator';\nimport warning from 'warning';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport omit from 'lodash/omit';\nimport createFieldsStore from './createFieldsStore';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getEvents } from '../../_util/props-util';\nimport PropTypes from '../../_util/vue-types';\n\nimport {\n argumentContainer,\n identity,\n normalizeValidateRules,\n getValidateTriggers,\n getValueFromEvent,\n hasRules,\n getParams,\n isEmptyObject,\n flattenArray,\n} from './utils';\n\nconst DEFAULT_TRIGGER = 'change';\n\nfunction createBaseForm(option = {}, mixins = []) {\n const {\n validateMessages,\n onFieldsChange,\n onValuesChange,\n mapProps = identity,\n mapPropsToFields,\n fieldNameProp,\n fieldMetaProp,\n fieldDataProp,\n formPropName = 'form',\n name: formName,\n props = {},\n templateContext,\n } = option;\n return function decorate(WrappedComponent) {\n let formProps = {};\n if (Array.isArray(props)) {\n props.forEach(prop => {\n formProps[prop] = PropTypes.any;\n });\n } else {\n formProps = props;\n }\n const Form = {\n mixins: [BaseMixin, ...mixins],\n props: {\n ...formProps,\n wrappedComponentRef: PropTypes.func.def(() => {}),\n },\n data() {\n const fields = mapPropsToFields && mapPropsToFields(this.$props);\n this.fieldsStore = createFieldsStore(fields || {});\n this.templateContext = templateContext;\n this.instances = {};\n this.cachedBind = {};\n this.clearedFieldMetaCache = {};\n\n this.renderFields = {};\n this.domFields = {};\n\n // HACK: https://github.com/ant-design/ant-design/issues/6406\n [\n 'getFieldsValue',\n 'getFieldValue',\n 'setFieldsInitialValue',\n 'getFieldsError',\n 'getFieldError',\n 'isFieldValidating',\n 'isFieldsValidating',\n 'isFieldsTouched',\n 'isFieldTouched',\n ].forEach(key => {\n this[key] = (...args) => {\n return this.fieldsStore[key](...args);\n };\n });\n\n return {\n submitting: false,\n };\n },\n watch: templateContext\n ? {}\n : {\n $props: {\n handler: function(nextProps) {\n if (mapPropsToFields) {\n this.fieldsStore.updateFields(mapPropsToFields(nextProps));\n }\n },\n deep: true,\n },\n },\n mounted() {\n this.cleanUpUselessFields();\n },\n updated() {\n // form updated add for template v-decorator\n this.cleanUpUselessFields();\n },\n methods: {\n updateFields(fields = {}) {\n this.fieldsStore.updateFields(mapPropsToFields(fields));\n if (templateContext) {\n templateContext.$forceUpdate();\n }\n },\n onCollectCommon(name, action, args) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (fieldMeta[action]) {\n fieldMeta[action](...args);\n } else if (fieldMeta.originalProps && fieldMeta.originalProps[action]) {\n fieldMeta.originalProps[action](...args);\n }\n const value = fieldMeta.getValueFromEvent\n ? fieldMeta.getValueFromEvent(...args)\n : getValueFromEvent(...args);\n if (onValuesChange && value !== this.fieldsStore.getFieldValue(name)) {\n const valuesAll = this.fieldsStore.getAllValues();\n const valuesAllSet = {};\n valuesAll[name] = value;\n Object.keys(valuesAll).forEach(key => set(valuesAllSet, key, valuesAll[key]));\n onValuesChange(this, set({}, name, value), valuesAllSet);\n }\n const field = this.fieldsStore.getField(name);\n return { name, field: { ...field, value, touched: true }, fieldMeta };\n },\n\n onCollect(name_, action, ...args) {\n const { name, field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const { validate } = fieldMeta;\n const newField = {\n ...field,\n dirty: hasRules(validate),\n };\n this.setFields({\n [name]: newField,\n });\n },\n\n onCollectValidate(name_, action, ...args) {\n const { field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const newField = {\n ...field,\n dirty: true,\n };\n this.validateFieldsInternal([newField], {\n action,\n options: {\n firstFields: !!fieldMeta.validateFirst,\n },\n });\n },\n\n getCacheBind(name, action, fn) {\n if (!this.cachedBind[name]) {\n this.cachedBind[name] = {};\n }\n const cache = this.cachedBind[name];\n if (!cache[action] || cache[action].oriFn !== fn) {\n cache[action] = {\n fn: fn.bind(this, name, action),\n oriFn: fn,\n };\n }\n return cache[action].fn;\n },\n\n getFieldDecorator(name, fieldOption) {\n const { props, ...restProps } = this.getFieldProps(name, fieldOption);\n return fieldElem => {\n // We should put field in record if it is rendered\n this.renderFields[name] = true;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const originalProps = getOptionProps(fieldElem);\n const originalEvents = getEvents(fieldElem);\n if (process.env.NODE_ENV !== 'production') {\n const valuePropName = fieldMeta.valuePropName;\n warning(\n !(valuePropName in originalProps),\n `\\`getFieldDecorator\\` will override \\`${valuePropName}\\`, ` +\n `so please don't set \\`${valuePropName} and v-model\\` directly ` +\n `and use \\`setFieldsValue\\` to set it.`,\n );\n const defaultValuePropName = `default${valuePropName[0].toUpperCase()}${valuePropName.slice(\n 1,\n )}`;\n warning(\n !(defaultValuePropName in originalProps),\n `\\`${defaultValuePropName}\\` is invalid ` +\n `for \\`getFieldDecorator\\` will set \\`${valuePropName}\\`,` +\n ` please use \\`option.initialValue\\` instead.`,\n );\n }\n fieldMeta.originalProps = originalProps;\n // fieldMeta.ref = fieldElem.data && fieldElem.data.ref\n const newProps = {\n props: {\n ...props,\n ...this.fieldsStore.getFieldValuePropValue(fieldMeta),\n },\n ...restProps,\n };\n newProps.domProps.value = newProps.props.value;\n const newEvents = {};\n Object.keys(newProps.on).forEach(key => {\n if (originalEvents[key]) {\n const triggerEvents = newProps.on[key];\n newEvents[key] = (...args) => {\n originalEvents[key](...args);\n triggerEvents(...args);\n };\n } else {\n newEvents[key] = newProps.on[key];\n }\n });\n return cloneElement(fieldElem, { ...newProps, on: newEvents });\n };\n },\n\n getFieldProps(name, usersFieldOption = {}) {\n if (!name) {\n throw new Error('Must call `getFieldProps` with valid name string!');\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.fieldsStore.isValidNestedFieldName(name),\n 'One field name cannot be part of another, e.g. `a` and `a.b`.',\n );\n warning(\n !('exclusive' in usersFieldOption),\n '`option.exclusive` of `getFieldProps`|`getFieldDecorator` had been remove.',\n );\n }\n\n delete this.clearedFieldMetaCache[name];\n\n const fieldOption = {\n name,\n trigger: DEFAULT_TRIGGER,\n valuePropName: 'value',\n validate: [],\n ...usersFieldOption,\n };\n\n const { rules, trigger, validateTrigger = trigger, validate } = fieldOption;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if ('initialValue' in fieldOption) {\n fieldMeta.initialValue = fieldOption.initialValue;\n }\n\n const inputProps = {\n ...this.fieldsStore.getFieldValuePropValue(fieldOption),\n // ref: name,\n };\n const inputListeners = {};\n const inputAttrs = {};\n if (fieldNameProp) {\n inputProps[fieldNameProp] = formName ? `${formName}_${name}` : name;\n }\n\n const validateRules = normalizeValidateRules(validate, rules, validateTrigger);\n const validateTriggers = getValidateTriggers(validateRules);\n validateTriggers.forEach(action => {\n if (inputListeners[action]) return;\n inputListeners[action] = this.getCacheBind(name, action, this.onCollectValidate);\n });\n\n // make sure that the value will be collect\n if (trigger && validateTriggers.indexOf(trigger) === -1) {\n inputListeners[trigger] = this.getCacheBind(name, trigger, this.onCollect);\n }\n\n const meta = {\n ...fieldMeta,\n ...fieldOption,\n validate: validateRules,\n };\n this.fieldsStore.setFieldMeta(name, meta);\n if (fieldMetaProp) {\n inputAttrs[fieldMetaProp] = meta;\n }\n\n if (fieldDataProp) {\n inputAttrs[fieldDataProp] = this.fieldsStore.getField(name);\n }\n // This field is rendered, record it\n this.renderFields[name] = true;\n return {\n props: omit(inputProps, ['id']),\n // id: inputProps.id,\n domProps: {\n value: inputProps.value,\n },\n attrs: {\n ...inputAttrs,\n id: inputProps.id,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.getCacheBind(name, `${name}__ref`, this.saveRef),\n },\n ],\n on: inputListeners,\n };\n },\n\n getFieldInstance(name) {\n return this.instances[name];\n },\n\n getRules(fieldMeta, action) {\n const actionRules = fieldMeta.validate\n .filter(item => {\n return !action || item.trigger.indexOf(action) >= 0;\n })\n .map(item => item.rules);\n return flattenArray(actionRules);\n },\n\n setFields(maybeNestedFields, callback) {\n const fields = this.fieldsStore.flattenRegisteredFields(maybeNestedFields);\n this.fieldsStore.setFields(fields);\n if (onFieldsChange) {\n const changedFields = Object.keys(fields).reduce(\n (acc, name) => set(acc, name, this.fieldsStore.getField(name)),\n {},\n );\n onFieldsChange(this, changedFields, this.fieldsStore.getNestedAllFields());\n }\n if (templateContext) {\n templateContext.$forceUpdate();\n } else {\n this.$forceUpdate();\n }\n this.$nextTick(() => {\n callback && callback();\n });\n },\n\n setFieldsValue(changedValues, callback) {\n const { fieldsMeta } = this.fieldsStore;\n const values = this.fieldsStore.flattenRegisteredFields(changedValues);\n const newFields = Object.keys(values).reduce((acc, name) => {\n const isRegistered = fieldsMeta[name];\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isRegistered,\n 'Cannot use `setFieldsValue` until ' +\n 'you use `getFieldDecorator` or `getFieldProps` to register it.',\n );\n }\n if (isRegistered) {\n const value = values[name];\n acc[name] = {\n value,\n };\n }\n return acc;\n }, {});\n this.setFields(newFields, callback);\n if (onValuesChange) {\n const allValues = this.fieldsStore.getAllValues();\n onValuesChange(this, changedValues, allValues);\n }\n },\n\n saveRef(name, _, component) {\n if (!component) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (!fieldMeta.preserve) {\n // after destroy, delete data\n this.clearedFieldMetaCache[name] = {\n field: this.fieldsStore.getField(name),\n meta: fieldMeta,\n };\n this.clearField(name);\n }\n delete this.domFields[name];\n return;\n }\n this.domFields[name] = true;\n this.recoverClearedField(name);\n // const fieldMeta = this.fieldsStore.getFieldMeta(name)\n // if (fieldMeta) {\n // const ref = fieldMeta.ref\n // if (ref) {\n // if (typeof ref === 'string') {\n // throw new Error(`can not set ref string for ${name}`)\n // }\n // ref(component)\n // }\n // }\n this.instances[name] = component;\n },\n\n cleanUpUselessFields() {\n const fieldList = this.fieldsStore.getAllFieldsName();\n const removedList = fieldList.filter(field => {\n const fieldMeta = this.fieldsStore.getFieldMeta(field);\n return !this.renderFields[field] && !this.domFields[field] && !fieldMeta.preserve;\n });\n if (removedList.length) {\n removedList.forEach(this.clearField);\n }\n this.renderFields = {};\n },\n\n clearField(name) {\n this.fieldsStore.clearField(name);\n delete this.instances[name];\n delete this.cachedBind[name];\n },\n\n resetFields(ns) {\n const newFields = this.fieldsStore.resetFields(ns);\n if (Object.keys(newFields).length > 0) {\n this.setFields(newFields);\n }\n if (ns) {\n const names = Array.isArray(ns) ? ns : [ns];\n names.forEach(name => delete this.clearedFieldMetaCache[name]);\n } else {\n this.clearedFieldMetaCache = {};\n }\n },\n\n recoverClearedField(name) {\n if (this.clearedFieldMetaCache[name]) {\n this.fieldsStore.setFields({\n [name]: this.clearedFieldMetaCache[name].field,\n });\n this.fieldsStore.setFieldMeta(name, this.clearedFieldMetaCache[name].meta);\n delete this.clearedFieldMetaCache[name];\n }\n },\n\n validateFieldsInternal(fields, { fieldNames, action, options = {} }, callback) {\n const allRules = {};\n const allValues = {};\n const allFields = {};\n const alreadyErrors = {};\n fields.forEach(field => {\n const name = field.name;\n if (options.force !== true && field.dirty === false) {\n if (field.errors) {\n set(alreadyErrors, name, { errors: field.errors });\n }\n return;\n }\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const newField = {\n ...field,\n };\n newField.errors = undefined;\n newField.validating = true;\n newField.dirty = true;\n allRules[name] = this.getRules(fieldMeta, action);\n allValues[name] = newField.value;\n allFields[name] = newField;\n });\n this.setFields(allFields);\n // in case normalize\n Object.keys(allValues).forEach(f => {\n allValues[f] = this.fieldsStore.getFieldValue(f);\n });\n if (callback && isEmptyObject(allFields)) {\n callback(\n isEmptyObject(alreadyErrors) ? null : alreadyErrors,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\n return;\n }\n const validator = new AsyncValidator(allRules);\n if (validateMessages) {\n validator.messages(validateMessages);\n }\n validator.validate(allValues, options, errors => {\n const errorsGroup = {\n ...alreadyErrors,\n };\n if (errors && errors.length) {\n errors.forEach(e => {\n const fieldName = e.field;\n const field = get(errorsGroup, fieldName);\n if (typeof field !== 'object' || Array.isArray(field)) {\n set(errorsGroup, fieldName, { errors: [] });\n }\n const fieldErrors = get(errorsGroup, fieldName.concat('.errors'));\n fieldErrors.push(e);\n });\n }\n const expired = [];\n const nowAllFields = {};\n Object.keys(allRules).forEach(name => {\n const fieldErrors = get(errorsGroup, name);\n const nowField = this.fieldsStore.getField(name);\n // avoid concurrency problems\n if (nowField.value !== allValues[name]) {\n expired.push({\n name,\n });\n } else {\n nowField.errors = fieldErrors && fieldErrors.errors;\n nowField.value = allValues[name];\n nowField.validating = false;\n nowField.dirty = false;\n nowAllFields[name] = nowField;\n }\n });\n this.setFields(nowAllFields);\n if (callback) {\n if (expired.length) {\n expired.forEach(({ name }) => {\n const fieldErrors = [\n {\n message: `${name} need to revalidate`,\n field: name,\n },\n ];\n set(errorsGroup, name, {\n expired: true,\n errors: fieldErrors,\n });\n });\n }\n\n callback(\n isEmptyObject(errorsGroup) ? null : errorsGroup,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\n }\n });\n },\n\n validateFields(ns, opt, cb) {\n const pending = new Promise((resolve, reject) => {\n const { names, options } = getParams(ns, opt, cb);\n let { callback } = getParams(ns, opt, cb);\n if (!callback || typeof callback === 'function') {\n const oldCb = callback;\n callback = (errors, values) => {\n if (oldCb) {\n oldCb(errors, values);\n } else if (errors) {\n reject({ errors, values });\n } else {\n resolve(values);\n }\n };\n }\n const fieldNames = names\n ? this.fieldsStore.getValidFieldsFullName(names)\n : this.fieldsStore.getValidFieldsName();\n const fields = fieldNames\n .filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return hasRules(fieldMeta.validate);\n })\n .map(name => {\n const field = this.fieldsStore.getField(name);\n field.value = this.fieldsStore.getFieldValue(name);\n return field;\n });\n if (!fields.length) {\n if (callback) {\n callback(null, this.fieldsStore.getFieldsValue(fieldNames));\n }\n return;\n }\n if (!('firstFields' in options)) {\n options.firstFields = fieldNames.filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return !!fieldMeta.validateFirst;\n });\n }\n this.validateFieldsInternal(\n fields,\n {\n fieldNames,\n options,\n },\n callback,\n );\n });\n pending.catch(e => {\n if (console.error) {\n console.error(e);\n }\n return e;\n });\n return pending;\n },\n\n isSubmitting() {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`isSubmitting` is deprecated. ' +\n \"Actually, it's more convenient to handle submitting status by yourself.\",\n );\n }\n return this.submitting;\n },\n\n submit(callback) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`submit` is deprecated.' +\n \"Actually, it's more convenient to handle submitting status by yourself.\",\n );\n }\n const fn = () => {\n this.setState({\n submitting: false,\n });\n };\n this.setState({\n submitting: true,\n });\n callback(fn);\n },\n },\n\n render() {\n const { $listeners, $slots } = this;\n const formProps = {\n [formPropName]: this.getForm(),\n };\n const { wrappedComponentRef, ...restProps } = getOptionProps(this);\n const wrappedComponentProps = {\n props: mapProps.call(this, {\n ...formProps,\n ...restProps,\n }),\n on: $listeners,\n ref: 'WrappedComponent',\n directives: [\n {\n name: 'ant-ref',\n value: wrappedComponentRef,\n },\n ],\n };\n\n return WrappedComponent ? (\n <WrappedComponent {...wrappedComponentProps}>{$slots.default}</WrappedComponent>\n ) : null;\n },\n };\n if (!WrappedComponent) return Form;\n if (Array.isArray(WrappedComponent.props)) {\n const newProps = {};\n WrappedComponent.props.forEach(prop => {\n newProps[prop] = PropTypes.any;\n });\n newProps[formPropName] = Object;\n WrappedComponent.props = newProps;\n } else {\n WrappedComponent.props = WrappedComponent.props || {};\n if (!(formPropName in WrappedComponent.props)) {\n WrappedComponent.props[formPropName] = Object;\n }\n }\n return argumentContainer(Form, WrappedComponent);\n };\n}\n\nexport default createBaseForm;\n","import scrollIntoView from 'dom-scroll-into-view';\nimport has from 'lodash/has';\nimport createBaseForm from './createBaseForm';\nimport { mixin as formMixin } from './createForm';\nimport { getParams } from './utils';\n\nfunction computedStyle(el, prop) {\n const getComputedStyle = window.getComputedStyle;\n const style =\n // If we have getComputedStyle\n getComputedStyle\n ? // Query it\n // TODO: From CSS-Query notes, we might need (node, null) for FF\n getComputedStyle(el)\n : // Otherwise, we are in IE and use currentStyle\n el.currentStyle;\n if (style) {\n return style[\n // Switch to camelCase for CSSOM\n // DEV: Grabbed from jQuery\n // https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194\n // https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597\n prop.replace(/-(\\w)/gi, (word, letter) => {\n return letter.toUpperCase();\n })\n ];\n }\n return undefined;\n}\n\nfunction getScrollableContainer(n) {\n let node = n;\n let nodeName;\n /* eslint no-cond-assign:0 */\n while ((nodeName = node.nodeName.toLowerCase()) !== 'body') {\n const overflowY = computedStyle(node, 'overflowY');\n // https://stackoverflow.com/a/36900407/3040605\n if (\n node !== n &&\n (overflowY === 'auto' || overflowY === 'scroll') &&\n node.scrollHeight > node.clientHeight\n ) {\n return node;\n }\n node = node.parentNode;\n }\n return nodeName === 'body' ? node.ownerDocument : node;\n}\n\nconst mixin = {\n methods: {\n getForm() {\n return {\n ...formMixin.methods.getForm.call(this),\n validateFieldsAndScroll: this.validateFieldsAndScroll,\n };\n },\n\n validateFieldsAndScroll(ns, opt, cb) {\n const { names, callback, options } = getParams(ns, opt, cb);\n\n const newCb = (error, values) => {\n if (error) {\n const validNames = this.fieldsStore.getValidFieldsName();\n let firstNode;\n let firstTop;\n validNames.forEach(name => {\n if (has(error, name)) {\n const instance = this.getFieldInstance(name);\n if (instance) {\n const node = instance.$el || instance.elm;\n const top = node.getBoundingClientRect().top;\n if (node.type !== 'hidden' && (firstTop === undefined || firstTop > top)) {\n firstTop = top;\n firstNode = node;\n }\n }\n }\n });\n\n if (firstNode) {\n const c = options.container || getScrollableContainer(firstNode);\n scrollIntoView(firstNode, c, {\n onlyScrollIfNeeded: true,\n ...options.scroll,\n });\n }\n }\n\n if (typeof callback === 'function') {\n callback(error, values);\n }\n };\n\n return this.validateFields(names, options, newCb);\n },\n },\n};\n\nfunction createDOMForm(option) {\n return createBaseForm(\n {\n ...option,\n },\n [mixin],\n );\n}\n\nexport default createDOMForm;\n","import set from 'lodash/set';\nimport createFormField, { isFormField } from './createFormField';\nimport { flattenFields, getErrorStrs, startsWith } from './utils';\n\nfunction partOf(a, b) {\n return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;\n}\n\nfunction internalFlattenFields(fields) {\n return flattenFields(\n fields,\n (_, node) => isFormField(node),\n 'You must wrap field data with `createFormField`.',\n );\n}\n\nclass FieldsStore {\n constructor(fields) {\n this.fields = internalFlattenFields(fields);\n this.fieldsMeta = {};\n }\n\n updateFields(fields) {\n this.fields = internalFlattenFields(fields);\n }\n\n flattenRegisteredFields(fields) {\n const validFieldsName = this.getAllFieldsName();\n return flattenFields(\n fields,\n path => validFieldsName.indexOf(path) >= 0,\n 'You cannot set a form field before rendering a field associated with the value.',\n );\n }\n\n setFieldsInitialValue = initialValues => {\n const flattenedInitialValues = this.flattenRegisteredFields(initialValues);\n const fieldsMeta = this.fieldsMeta;\n Object.keys(flattenedInitialValues).forEach(name => {\n if (fieldsMeta[name]) {\n this.setFieldMeta(name, {\n ...this.getFieldMeta(name),\n initialValue: flattenedInitialValues[name],\n });\n }\n });\n };\n\n setFields(fields) {\n const fieldsMeta = this.fieldsMeta;\n const nowFields = {\n ...this.fields,\n ...fields,\n };\n const nowValues = {};\n Object.keys(fieldsMeta).forEach(f => {\n nowValues[f] = this.getValueFromFields(f, nowFields);\n });\n Object.keys(nowValues).forEach(f => {\n const value = nowValues[f];\n const fieldMeta = this.getFieldMeta(f);\n if (fieldMeta && fieldMeta.normalize) {\n const nowValue = fieldMeta.normalize(\n value,\n this.getValueFromFields(f, this.fields),\n nowValues,\n );\n if (nowValue !== value) {\n nowFields[f] = {\n ...nowFields[f],\n value: nowValue,\n };\n }\n }\n });\n this.fields = nowFields;\n }\n\n resetFields(ns) {\n const { fields } = this;\n const names = ns ? this.getValidFieldsFullName(ns) : this.getAllFieldsName();\n return names.reduce((acc, name) => {\n const field = fields[name];\n if (field && 'value' in field) {\n acc[name] = {};\n }\n return acc;\n }, {});\n }\n\n setFieldMeta(name, meta) {\n this.fieldsMeta[name] = meta;\n }\n\n getFieldMeta(name) {\n this.fieldsMeta[name] = this.fieldsMeta[name] || {};\n return this.fieldsMeta[name];\n }\n\n getValueFromFields(name, fields) {\n const field = fields[name];\n if (field && 'value' in field) {\n return field.value;\n }\n const fieldMeta = this.getFieldMeta(name);\n return fieldMeta && fieldMeta.initialValue;\n }\n\n getAllValues = () => {\n const { fieldsMeta, fields } = this;\n return Object.keys(fieldsMeta).reduce(\n (acc, name) => set(acc, name, this.getValueFromFields(name, fields)),\n {},\n );\n };\n\n getValidFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta\n ? Object.keys(fieldsMeta).filter(name => !this.getFieldMeta(name).hidden)\n : [];\n }\n\n getAllFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta ? Object.keys(fieldsMeta) : [];\n }\n\n getValidFieldsFullName(maybePartialName) {\n const maybePartialNames = Array.isArray(maybePartialName)\n ? maybePartialName\n : [maybePartialName];\n return this.getValidFieldsName().filter(fullName =>\n maybePartialNames.some(\n partialName =>\n fullName === partialName ||\n (startsWith(fullName, partialName) &&\n ['.', '['].indexOf(fullName[partialName.length]) >= 0),\n ),\n );\n }\n\n getFieldValuePropValue(fieldMeta) {\n const { name, getValueProps, valuePropName } = fieldMeta;\n const field = this.getField(name);\n const fieldValue = 'value' in field ? field.value : fieldMeta.initialValue;\n if (getValueProps) {\n return getValueProps(fieldValue);\n }\n return { [valuePropName]: fieldValue };\n }\n\n getField(name) {\n return {\n ...this.fields[name],\n name,\n };\n }\n\n getNotCollectedFields() {\n const fieldsName = this.getValidFieldsName();\n return fieldsName\n .filter(name => !this.fields[name])\n .map(name => ({\n name,\n dirty: false,\n value: this.getFieldMeta(name).initialValue,\n }))\n .reduce((acc, field) => set(acc, field.name, createFormField(field)), {});\n }\n\n getNestedAllFields() {\n return Object.keys(this.fields).reduce(\n (acc, name) => set(acc, name, createFormField(this.fields[name])),\n this.getNotCollectedFields(),\n );\n }\n\n getFieldMember(name, member) {\n return this.getField(name)[member];\n }\n\n getNestedFields(names, getter) {\n const fields = names || this.getValidFieldsName();\n return fields.reduce((acc, f) => set(acc, f, getter(f)), {});\n }\n\n getNestedField(name, getter) {\n const fullNames = this.getValidFieldsFullName(name);\n if (\n fullNames.length === 0 || // Not registered\n (fullNames.length === 1 && fullNames[0] === name) // Name already is full name.\n ) {\n return getter(name);\n }\n const isArrayValue = fullNames[0][name.length] === '[';\n const suffixNameStartIndex = isArrayValue ? name.length : name.length + 1;\n return fullNames.reduce(\n (acc, fullName) => set(acc, fullName.slice(suffixNameStartIndex), getter(fullName)),\n isArrayValue ? [] : {},\n );\n }\n\n getFieldsValue = names => {\n return this.getNestedFields(names, this.getFieldValue);\n };\n\n getFieldValue = name => {\n const { fields } = this;\n return this.getNestedField(name, fullName => this.getValueFromFields(fullName, fields));\n };\n\n getFieldsError = names => {\n return this.getNestedFields(names, this.getFieldError);\n };\n\n getFieldError = name => {\n return this.getNestedField(name, fullName =>\n getErrorStrs(this.getFieldMember(fullName, 'errors')),\n );\n };\n\n isFieldValidating = name => {\n return this.getFieldMember(name, 'validating');\n };\n\n isFieldsValidating = ns => {\n const names = ns || this.getValidFieldsName();\n return names.some(n => this.isFieldValidating(n));\n };\n\n isFieldTouched = name => {\n return this.getFieldMember(name, 'touched');\n };\n\n isFieldsTouched = ns => {\n const names = ns || this.getValidFieldsName();\n return names.some(n => this.isFieldTouched(n));\n };\n\n // @private\n // BG: `a` and `a.b` cannot be use in the same form\n isValidNestedFieldName(name) {\n const names = this.getAllFieldsName();\n return names.every(n => !partOf(n, name) && !partOf(name, n));\n }\n\n clearField(name) {\n delete this.fields[name];\n delete this.fieldsMeta[name];\n }\n}\n\nexport default function createFieldsStore(fields) {\n return new FieldsStore(fields);\n}\n","import createBaseForm from './createBaseForm';\n\nexport const mixin = {\n methods: {\n getForm() {\n return {\n getFieldsValue: this.fieldsStore.getFieldsValue,\n getFieldValue: this.fieldsStore.getFieldValue,\n getFieldInstance: this.getFieldInstance,\n setFieldsValue: this.setFieldsValue,\n setFields: this.setFields,\n setFieldsInitialValue: this.fieldsStore.setFieldsInitialValue,\n getFieldDecorator: this.getFieldDecorator,\n getFieldProps: this.getFieldProps,\n getFieldsError: this.fieldsStore.getFieldsError,\n getFieldError: this.fieldsStore.getFieldError,\n isFieldValidating: this.fieldsStore.isFieldValidating,\n isFieldsValidating: this.fieldsStore.isFieldsValidating,\n isFieldsTouched: this.fieldsStore.isFieldsTouched,\n isFieldTouched: this.fieldsStore.isFieldTouched,\n isSubmitting: this.isSubmitting,\n submit: this.submit,\n validateFields: this.validateFields,\n resetFields: this.resetFields,\n };\n },\n },\n};\n\nfunction createForm(options) {\n return createBaseForm(options, [mixin]);\n}\n\nexport default createForm;\n","class Field {\n constructor(fields) {\n Object.assign(this, fields);\n }\n}\n\nexport function isFormField(obj) {\n return obj instanceof Field;\n}\n\nexport default function createFormField(field) {\n if (isFormField(field)) {\n return field;\n }\n return new Field(field);\n}\n","import warning from 'warning';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'WrappedComponent';\n}\n\nexport function argumentContainer(Container, WrappedComponent) {\n /* eslint no-param-reassign:0 */\n Container.name = `Form_${getDisplayName(WrappedComponent)}`;\n Container.WrappedComponent = WrappedComponent;\n Container.props = { ...Container.props, ...WrappedComponent.props };\n return Container;\n}\n\nexport function identity(obj) {\n return obj;\n}\n\nexport function flattenArray(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nexport function treeTraverse(path = '', tree, isLeafNode, errorMessage, callback) {\n if (isLeafNode(path, tree)) {\n callback(path, tree);\n } else if (tree === undefined || tree === null) {\n // Do nothing\n } else if (Array.isArray(tree)) {\n tree.forEach((subTree, index) =>\n treeTraverse(`${path}[${index}]`, subTree, isLeafNode, errorMessage, callback),\n );\n } else {\n // It's object and not a leaf node\n if (typeof tree !== 'object') {\n warning(false, errorMessage);\n return;\n }\n Object.keys(tree).forEach(subTreeKey => {\n const subTree = tree[subTreeKey];\n treeTraverse(\n `${path}${path ? '.' : ''}${subTreeKey}`,\n subTree,\n isLeafNode,\n errorMessage,\n callback,\n );\n });\n }\n}\n\nexport function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {\n const fields = {};\n treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, (path, node) => {\n fields[path] = node;\n });\n return fields;\n}\n\nexport function normalizeValidateRules(validate, rules, validateTrigger) {\n const validateRules = validate.map(item => {\n const newItem = {\n ...item,\n trigger: item.trigger || [],\n };\n if (typeof newItem.trigger === 'string') {\n newItem.trigger = [newItem.trigger];\n }\n return newItem;\n });\n if (rules) {\n validateRules.push({\n trigger: validateTrigger ? [].concat(validateTrigger) : [],\n rules,\n });\n }\n return validateRules;\n}\n\nexport function getValidateTriggers(validateRules) {\n return validateRules\n .filter(item => !!item.rules && item.rules.length)\n .map(item => item.trigger)\n .reduce((pre, curr) => pre.concat(curr), []);\n}\n\nexport function getValueFromEvent(e) {\n // To support custom element\n if (!e || !e.target) {\n return e;\n }\n const { target } = e;\n return target.type === 'checkbox' ? target.checked : target.value;\n}\n\nexport function getErrorStrs(errors) {\n if (errors) {\n return errors.map(e => {\n if (e && e.message) {\n return e.message;\n }\n return e;\n });\n }\n return errors;\n}\n\nexport function getParams(ns, opt, cb) {\n let names = ns;\n let options = opt;\n let callback = cb;\n if (cb === undefined) {\n if (typeof names === 'function') {\n callback = names;\n options = {};\n names = undefined;\n } else if (Array.isArray(names)) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n } else {\n options = options || {};\n }\n } else {\n callback = options;\n options = names || {};\n names = undefined;\n }\n }\n return {\n names,\n options,\n callback,\n };\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport function hasRules(validate) {\n if (validate) {\n return validate.some(item => {\n return item.rules && item.rules.length;\n });\n }\n return false;\n}\n\nexport function startsWith(str, prefix) {\n return str.lastIndexOf(prefix, 0) === 0;\n}\n","import PropTypes from '../../_util/vue-types';\nimport Touchable from '../../vc-m-feedback';\n\nconst InputHandler = {\n props: {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n const touchableProps = {\n props: {\n disabled,\n activeClassName: `${prefixCls}-handler-active`,\n },\n on: this.$listeners,\n };\n return (\n <Touchable {...touchableProps}>\n <span>{this.$slots.default}</span>\n </Touchable>\n );\n },\n};\n\nexport default InputHandler;\n","// based on rc-input-number 4.3.8\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp, getOptionProps } from '../../_util/props-util';\nimport classNames from 'classnames';\nimport isNegativeZero from 'is-negative-zero';\nimport KeyCode from '../../_util/KeyCode';\nimport InputHandler from './InputHandler';\n\nfunction noop() {}\n\nfunction preventDefault(e) {\n e.preventDefault();\n}\n\nfunction defaultParser(input) {\n return input.replace(/[^\\w\\.-]+/g, '');\n}\n\n/**\n * When click and hold on a button - the speed of auto changin the value.\n */\nconst SPEED = 200;\n\n/**\n * When click and hold on a button - the delay before auto changin the value.\n */\nconst DELAY = 600;\n\n/**\n * Max Safe Integer -- on IE this is not available, so manually set the number in that case.\n * The reason this is used, instead of Infinity is because numbers above the MSI are unstable\n */\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\nconst inputNumberProps = {\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n focusOnUpDown: PropTypes.bool,\n autoFocus: PropTypes.bool,\n // onChange: PropTypes.func,\n // onKeyDown: PropTypes.func,\n // onKeyUp: PropTypes.func,\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n upHandler: PropTypes.any,\n downHandler: PropTypes.any,\n useTouch: PropTypes.bool,\n formatter: PropTypes.func,\n parser: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onMouseOver: PropTypes.func,\n // onMouseOut: PropTypes.func,\n precision: PropTypes.number,\n required: PropTypes.bool,\n pattern: PropTypes.string,\n decimalSeparator: PropTypes.string,\n autoComplete: PropTypes.string,\n title: PropTypes.string,\n};\n\nexport default {\n name: 'InputNumber',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(inputNumberProps, {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n parser: defaultParser,\n required: false,\n autoComplete: 'off',\n }),\n data() {\n let value;\n if (hasProp(this, 'value')) {\n value = this.value;\n } else {\n value = this.defaultValue;\n }\n value = this.toNumber(value);\n\n return {\n inputValue: this.toPrecisionAsStep(value),\n sValue: value,\n focused: this.autoFocus,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n this.updatedFunc();\n });\n },\n beforeUpdate() {\n this.$nextTick(() => {\n try {\n this.start = this.$refs.inputRef.selectionStart;\n this.end = this.$refs.inputRef.selectionEnd;\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n this.updatedFunc();\n });\n },\n beforeDestroy() {\n this.stop();\n },\n watch: {\n value(val) {\n const value = this.focused ? val : this.getValidValue(val, this.min, this.max);\n this.setState({\n sValue: val,\n inputValue: this.inputting ? value : this.toPrecisionAsStep(value),\n });\n },\n max(val) {\n const props = getOptionProps(this);\n // Trigger onChange when max or min change\n // https://github.com/ant-design/ant-design/issues/11574\n const nextValue = 'value' in props ? props.value : this.sValue;\n // ref: null < 20 === true\n // https://github.com/ant-design/ant-design/issues/14277\n if (typeof nextValue === 'number' && nextValue > val) {\n this.__emit('change', val);\n }\n },\n min(val) {\n const props = getOptionProps(this);\n const nextValue = 'value' in props ? props.value : this.sValue;\n if (typeof nextValue === 'number' && nextValue < val) {\n this.__emit('change', val);\n }\n },\n },\n methods: {\n updatedFunc() {\n const inputElem = this.$refs.inputRef;\n // Restore cursor\n try {\n // Firefox set the input cursor after it get focused.\n // This caused that if an input didn't init with the selection,\n // set will cause cursor not correct when first focus.\n // Safari will focus input if set selection. We need skip this.\n if (this.cursorStart !== undefined && this.focused) {\n // In most cases, the string after cursor is stable.\n // We can move the cursor before it\n\n if (\n // If not match full str, try to match part of str\n !this.partRestoreByAfter(this.cursorAfter) &&\n this.sValue !== this.value\n ) {\n // If not match any of then, let's just keep the position\n // TODO: Logic should not reach here, need check if happens\n let pos = this.cursorStart + 1;\n\n // If not have last string, just position to the end\n if (!this.cursorAfter) {\n pos = inputElem.value.length;\n } else if (this.lastKeyCode === KeyCode.BACKSPACE) {\n pos = this.cursorStart - 1;\n } else if (this.lastKeyCode === KeyCode.DELETE) {\n pos = this.cursorStart;\n }\n this.fixCaret(pos, pos);\n } else if (this.currentValue === inputElem.value) {\n // Handle some special key code\n switch (this.lastKeyCode) {\n case KeyCode.BACKSPACE:\n this.fixCaret(this.cursorStart - 1, this.cursorStart - 1);\n break;\n case KeyCode.DELETE:\n this.fixCaret(this.cursorStart + 1, this.cursorStart + 1);\n break;\n default:\n // Do nothing\n }\n }\n }\n } catch (e) {\n // Do nothing\n }\n // Reset last key\n this.lastKeyCode = null;\n\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.focusOnUpDown && this.focused) {\n if (document.activeElement !== inputElem) {\n this.focus();\n }\n }\n\n this.pressingUpOrDown = false;\n },\n onKeyDown(e, ...args) {\n if (e.keyCode === KeyCode.UP) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.DOWN) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n }\n // Trigger user key down\n this.recordCursorPosition();\n this.lastKeyCode = e.keyCode;\n this.$emit('keydown', e, ...args);\n },\n onKeyUp(e, ...args) {\n this.stop();\n\n this.recordCursorPosition();\n\n this.$emit('keyup', e, ...args);\n },\n onChange(e) {\n if (this.focused) {\n this.inputting = true;\n }\n const input = this.parser(this.getValueFromEvent(e));\n this.setState({ inputValue: input });\n this.$emit('change', this.toNumberWhenUserInput(input)); // valid number or invalid string\n },\n onFocus(...args) {\n this.setState({\n focused: true,\n });\n this.$emit('focus', ...args);\n },\n onBlur(e, ...args) {\n this.inputting = false;\n this.setState({\n focused: false,\n });\n const value = this.getCurrentValidValue(this.inputValue);\n // todo\n // e.persist() // fix https://github.com/react-component/input-number/issues/51\n this.setValue(value, () => {\n this.$emit('blur', e, ...args);\n });\n },\n getCurrentValidValue(value) {\n let val = value;\n if (val === '') {\n val = '';\n } else if (!this.isNotCompleteNumber(parseFloat(val, 10))) {\n val = this.getValidValue(val);\n } else {\n val = this.sValue;\n }\n return this.toNumber(val);\n },\n getRatio(e) {\n let ratio = 1;\n if (e.metaKey || e.ctrlKey) {\n ratio = 0.1;\n } else if (e.shiftKey) {\n ratio = 10;\n }\n return ratio;\n },\n getValueFromEvent(e) {\n // optimize for chinese input expierence\n // https://github.com/ant-design/ant-design/issues/8196\n let value = e.target.value.trim().replace(/。/g, '.');\n\n if (this.decimalSeparator !== undefined) {\n value = value.replace(this.decimalSeparator, '.');\n }\n\n return value;\n },\n getValidValue(value, min = this.min, max = this.max) {\n let val = parseFloat(value, 10);\n // https://github.com/ant-design/ant-design/issues/7358\n if (isNaN(val)) {\n return value;\n }\n if (val < min) {\n val = min;\n }\n if (val > max) {\n val = max;\n }\n return val;\n },\n setValue(v, callback) {\n // trigger onChange\n const newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? undefined : parseFloat(v, 10);\n const changed = newValue !== this.sValue || `${newValue}` !== `${this.inputValue}`; // https://github.com/ant-design/ant-design/issues/7363\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n sValue: newValue,\n inputValue: this.toPrecisionAsStep(v),\n },\n callback,\n );\n } else {\n // always set input value same as value\n this.setState(\n {\n inputValue: this.toPrecisionAsStep(this.sValue),\n },\n callback,\n );\n }\n if (changed) {\n this.$emit('change', newValue);\n }\n },\n getPrecision(value) {\n if (hasProp(this, 'precision')) {\n return this.precision;\n }\n const valueString = value.toString();\n if (valueString.indexOf('e-') >= 0) {\n return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10);\n }\n let precision = 0;\n if (valueString.indexOf('.') >= 0) {\n precision = valueString.length - valueString.indexOf('.') - 1;\n }\n return precision;\n },\n // step={1.0} value={1.51}\n // press +\n // then value should be 2.51, rather than 2.5\n // if this.props.precision is undefined\n // https://github.com/react-component/input-number/issues/39\n getMaxPrecision(currentValue, ratio = 1) {\n if (hasProp(this, 'precision')) {\n return this.precision;\n }\n const { step } = this;\n const ratioPrecision = this.getPrecision(ratio);\n const stepPrecision = this.getPrecision(step);\n const currentValuePrecision = this.getPrecision(currentValue);\n if (!currentValue) {\n return ratioPrecision + stepPrecision;\n }\n return Math.max(currentValuePrecision, ratioPrecision + stepPrecision);\n },\n getPrecisionFactor(currentValue, ratio = 1) {\n const precision = this.getMaxPrecision(currentValue, ratio);\n return Math.pow(10, precision);\n },\n getInputDisplayValue() {\n const { focused, inputValue, sValue } = this;\n let inputDisplayValue;\n if (focused) {\n inputDisplayValue = inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(sValue);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n\n return inputDisplayValue;\n },\n recordCursorPosition() {\n // Record position\n try {\n const inputElem = this.$refs.inputRef;\n this.cursorStart = inputElem.selectionStart;\n this.cursorEnd = inputElem.selectionEnd;\n this.currentValue = inputElem.value;\n this.cursorBefore = inputElem.value.substring(0, this.cursorStart);\n this.cursorAfter = inputElem.value.substring(this.cursorEnd);\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n fixCaret(start, end) {\n if (start === undefined || end === undefined || !this.input || !this.input.value) {\n return;\n }\n\n try {\n const inputElem = this.$refs.inputRef;\n const currentStart = inputElem.selectionStart;\n const currentEnd = inputElem.selectionEnd;\n\n if (start !== currentStart || end !== currentEnd) {\n inputElem.setSelectionRange(start, end);\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n restoreByAfter(str) {\n if (str === undefined) return false;\n\n const fullStr = this.$refs.inputRef.value;\n const index = fullStr.lastIndexOf(str);\n\n if (index === -1) return false;\n\n if (index + str.length === fullStr.length) {\n this.fixCaret(index, index);\n\n return true;\n }\n return false;\n },\n partRestoreByAfter(str) {\n if (str === undefined) return false;\n\n // For loop from full str to the str with last char to map. e.g. 123\n // -> 123\n // -> 23\n // -> 3\n return Array.prototype.some.call(str, (_, start) => {\n const partStr = str.substring(start);\n\n return this.restoreByAfter(partStr);\n });\n },\n focus() {\n this.$refs.inputRef.focus();\n this.recordCursorPosition();\n },\n blur() {\n this.$refs.inputRef.blur();\n },\n formatWrapper(num) {\n // http://2ality.com/2012/03/signedzero.html\n // https://github.com/ant-design/ant-design/issues/9439\n if (isNegativeZero(num)) {\n return '-0';\n }\n if (this.formatter) {\n return this.formatter(num);\n }\n return num;\n },\n toPrecisionAsStep(num) {\n if (this.isNotCompleteNumber(num) || num === '') {\n return num;\n }\n const precision = Math.abs(this.getMaxPrecision(num));\n if (precision === 0) {\n return num.toString();\n }\n if (!isNaN(precision)) {\n return Number(num).toFixed(precision);\n }\n return num.toString();\n },\n // '1.' '1x' 'xx' '' => are not complete numbers\n isNotCompleteNumber(num) {\n return (\n isNaN(num) ||\n num === '' ||\n num === null ||\n (num && num.toString().indexOf('.') === num.toString().length - 1)\n );\n },\n toNumber(num) {\n if (this.isNotCompleteNumber(num)) {\n return num;\n }\n if (hasProp(this, 'precision')) {\n return Number(Number(num).toFixed(this.precision));\n }\n return Number(num);\n },\n // '1.0' '1.00' => may be a inputing number\n toNumberWhenUserInput(num) {\n // num.length > 16 => prevent input large number will became Infinity\n if ((/\\.\\d*0$/.test(num) || num.length > 16) && this.focused) {\n return num;\n }\n return this.toNumber(num);\n },\n upStep(val, rat) {\n const { step, min } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n let result;\n if (typeof val === 'number') {\n result = ((precisionFactor * val + precisionFactor * step * rat) / precisionFactor).toFixed(\n precision,\n );\n } else {\n result = min === -Infinity ? step : min;\n }\n return this.toNumber(result);\n },\n downStep(val, rat) {\n const { step, min } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n let result;\n if (typeof val === 'number') {\n result = ((precisionFactor * val - precisionFactor * step * rat) / precisionFactor).toFixed(\n precision,\n );\n } else {\n result = min === -Infinity ? -step : min;\n }\n return this.toNumber(result);\n },\n stepFn(type, e, ratio = 1, recursive) {\n this.stop();\n if (e) {\n // e.persist()\n e.preventDefault();\n }\n if (this.disabled) {\n return;\n }\n const { max, min } = this;\n const value = this.getCurrentValidValue(this.inputValue) || 0;\n if (this.isNotCompleteNumber(value)) {\n return;\n }\n let val = this[`${type}Step`](value, ratio);\n const outOfRange = val > max || val < min;\n if (val > max) {\n val = max;\n } else if (val < min) {\n val = min;\n }\n this.setValue(val);\n this.setState({\n focused: true,\n });\n if (outOfRange) {\n return;\n }\n this.autoStepTimer = setTimeout(\n () => {\n this[type](e, ratio, true);\n },\n recursive ? SPEED : DELAY,\n );\n },\n stop() {\n if (this.autoStepTimer) {\n clearTimeout(this.autoStepTimer);\n }\n },\n down(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('down', e, ratio, recursive);\n },\n up(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('up', e, ratio, recursive);\n },\n handleInputClick() {\n this.$emit('click');\n },\n },\n render() {\n const {\n prefixCls,\n disabled,\n readOnly,\n useTouch,\n autoComplete,\n upHandler,\n downHandler,\n } = this.$props;\n const classes = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: this.focused,\n });\n let upDisabledClass = '';\n let downDisabledClass = '';\n const { sValue } = this;\n if (sValue || sValue === 0) {\n if (!isNaN(sValue)) {\n const val = Number(sValue);\n if (val >= this.max) {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n }\n if (val <= this.min) {\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n } else {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n }\n\n const editable = !this.readOnly && !this.disabled;\n\n // focus state, show input value\n // unfocus state, show valid value\n let inputDisplayValue;\n if (this.focused) {\n inputDisplayValue = this.inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(this.sValue);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n\n let upEvents;\n let downEvents;\n if (useTouch) {\n upEvents = {\n touchstart: editable && !upDisabledClass ? this.up : noop,\n touchend: this.stop,\n };\n downEvents = {\n touchstart: editable && !downDisabledClass ? this.down : noop,\n touchend: this.stop,\n };\n } else {\n upEvents = {\n mousedown: editable && !upDisabledClass ? this.up : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n downEvents = {\n mousedown: editable && !downDisabledClass ? this.down : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n }\n let inputDisplayValueFormat = this.formatWrapper(inputDisplayValue);\n if (this.decimalSeparator !== undefined) {\n inputDisplayValueFormat = inputDisplayValueFormat\n .toString()\n .replace('.', this.decimalSeparator);\n }\n const isUpDisabled = !!upDisabledClass || disabled || readOnly;\n const isDownDisabled = !!downDisabledClass || disabled || readOnly;\n const {\n mouseenter = noop,\n mouseleave = noop,\n mouseover = noop,\n mouseout = noop,\n } = this.$listeners;\n const contentProps = {\n on: { mouseenter, mouseleave, mouseover, mouseout },\n class: classes,\n attrs: { title: this.$props.title },\n };\n const upHandlerProps = {\n props: {\n disabled: isUpDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Increase Value',\n 'aria-disabled': !!isUpDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-up ${upDisabledClass}`,\n on: upEvents,\n ref: 'up',\n };\n const downHandlerProps = {\n props: {\n disabled: isDownDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Decrease Value',\n 'aria-disabled': !!isDownDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-down ${downDisabledClass}`,\n on: downEvents,\n ref: 'down',\n };\n // ref for test\n return (\n <div {...contentProps}>\n <div class={`${prefixCls}-handler-wrap`}>\n <InputHandler {...upHandlerProps}>\n {upHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-up-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n <InputHandler {...downHandlerProps}>\n {downHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-down-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n </div>\n <div\n class={`${prefixCls}-input-wrap`}\n role=\"spinbutton\"\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-valuenow={sValue}\n >\n <input\n required={this.required}\n type={this.type}\n placeholder={this.placeholder}\n onClick={this.handleInputClick}\n class={`${prefixCls}-input`}\n tabIndex={this.tabIndex}\n autoComplete={autoComplete}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={editable ? this.onKeyDown : noop}\n onKeyup={editable ? this.onKeyUp : noop}\n maxLength={this.maxLength}\n readOnly={this.readOnly}\n disabled={this.disabled}\n max={this.max}\n min={this.min}\n step={this.step}\n name={this.name}\n id={this.id}\n onInput={this.onChange}\n ref=\"inputRef\"\n value={inputDisplayValueFormat}\n pattern={this.pattern}\n />\n </div>\n </div>\n );\n },\n};\n","import LazyLoad from './src/LazyLoad';\nexport default LazyLoad;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport addEventListener from '../../_util/Dom/addEventListener';\nimport { initDefaultProps } from '../../_util/props-util';\nimport warning from '../../_util/warning';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport parentScroll from './utils/parentScroll';\nimport inViewport from './utils/inViewport';\n\nconst lazyLoadProps = {\n debounce: PropTypes.bool,\n elementType: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n offset: PropTypes.number,\n offsetBottom: PropTypes.number,\n offsetHorizontal: PropTypes.number,\n offsetLeft: PropTypes.number,\n offsetRight: PropTypes.number,\n offsetTop: PropTypes.number,\n offsetVertical: PropTypes.number,\n threshold: PropTypes.number,\n throttle: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n _propsSymbol: PropTypes.any,\n};\n\nexport default {\n name: 'LazyLoad',\n mixins: [BaseMixin],\n props: initDefaultProps(lazyLoadProps, {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250,\n }),\n data() {\n if (this.throttle > 0) {\n if (this.debounce) {\n this.lazyLoadHandler = debounce(this.lazyLoadHandler, this.throttle);\n } else {\n this.lazyLoadHandler = throttle(this.lazyLoadHandler, this.throttle);\n }\n }\n return {\n visible: false,\n };\n },\n watch: {\n _propsSymbol() {\n if (!this.visible) {\n this.lazyLoadHandler();\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this._mounted = true;\n const eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n this.resizeHander = addEventListener(window, 'resize', this.lazyLoadHandler);\n this.scrollHander = addEventListener(eventNode, 'scroll', this.lazyLoadHandler);\n });\n },\n beforeDestroy() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n },\n methods: {\n getEventNode() {\n return parentScroll(this.$el);\n },\n getOffset() {\n const {\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetTop,\n offsetBottom,\n offsetLeft,\n offsetRight,\n threshold,\n } = this.$props;\n\n const _offsetAll = threshold || offset;\n const _offsetVertical = offsetVertical || _offsetAll;\n const _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal,\n };\n },\n lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n const offset = this.getOffset();\n const node = this.$el;\n const eventNode = this.getEventNode();\n\n if (inViewport(node, eventNode, offset)) {\n this.setState({ visible: true }, () => {\n this.__emit('contentVisible');\n });\n this.detachListeners();\n }\n },\n detachListeners() {\n this.resizeHander && this.resizeHander.remove();\n this.scrollHander && this.scrollHander.remove();\n },\n },\n render(createElement) {\n const children = this.$slots.default;\n if (children.length !== 1) {\n warning(false, 'lazyLoad组件只能包含一个子元素');\n return null;\n }\n const { height, width, elementType } = this.$props;\n const { visible } = this;\n\n const elStyles = {\n height: typeof height === 'number' ? height + 'px' : height,\n width: typeof width === 'number' ? width + 'px' : width,\n };\n const elClasses = {\n LazyLoad: true,\n 'is-visible': visible,\n };\n\n return createElement(\n elementType,\n {\n class: elClasses,\n style: elStyles,\n },\n [visible ? children[0] : null],\n );\n },\n};\n","/*\n * Finds element's position relative to the whole document,\n * rather than to the viewport as it is the case with .getBoundingClientRect().\n */\nexport default function getElementPosition(element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset,\n };\n}\n","import getElementPosition from './getElementPosition';\n\nconst isHidden = element => element.offsetParent === null;\n\nexport default function inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n let top;\n let bottom;\n let left;\n let right;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n const containerPosition = getElementPosition(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n const elementPosition = getElementPosition(element);\n\n return (\n top <= elementPosition.top + element.offsetHeight + customOffset.top &&\n bottom >= elementPosition.top - customOffset.bottom &&\n left <= elementPosition.left + element.offsetWidth + customOffset.left &&\n right >= elementPosition.left - customOffset.right\n );\n}\n","const style = (element, prop) => {\n let styleVal = '';\n if (typeof getComputedStyle !== 'undefined') {\n styleVal = window.getComputedStyle(element, null).getPropertyValue(prop);\n } else {\n styleVal = element.style[prop];\n }\n return styleVal;\n};\n\nconst overflow = element =>\n style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n\nconst scrollParent = element => {\n if (!(element instanceof window.HTMLElement)) {\n return window;\n }\n\n let parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexport default scrollParent;\n","// based on 2.0.0\nimport TouchFeedback from './src/TouchFeedback';\nexport default TouchFeedback;\n","import PropTypes from '../../_util/vue-types';\n\nexport const ITouchProps = {\n disabled: PropTypes.bool,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.any,\n // onTouchStart: PropTypes.func,\n // onTouchEnd: PropTypes.func,\n // onTouchCancel: PropTypes.func,\n // onMouseDown: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n};\n","import { initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { ITouchProps } from './PropTypes';\n\nexport default {\n name: 'TouchFeedback',\n mixins: [BaseMixin],\n props: initDefaultProps(ITouchProps, {\n disabled: false,\n }),\n data() {\n return {\n active: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.disabled && this.active) {\n this.setState({\n active: false,\n });\n }\n });\n },\n methods: {\n triggerEvent(type, isActive, ev) {\n // 暂时仅有input-number用到,事件直接到挂载到Touchable上,不需要像antd那样从子组件触发\n this.$emit(type, ev);\n if (isActive !== this.active) {\n this.setState({\n active: isActive,\n });\n }\n },\n onTouchStart(e) {\n this.triggerEvent('touchstart', true, e);\n },\n onTouchMove(e) {\n this.triggerEvent('touchmove', false, e);\n },\n onTouchEnd(e) {\n this.triggerEvent('touchend', false, e);\n },\n onTouchCancel(e) {\n this.triggerEvent('touchcancel', false, e);\n },\n onMouseDown(e) {\n // pc simulate mobile\n this.triggerEvent('mousedown', true, e);\n },\n onMouseUp(e) {\n this.triggerEvent('mouseup', false, e);\n },\n onMouseLeave(e) {\n this.triggerEvent('mouseleave', false, e);\n },\n },\n render() {\n const { disabled, activeClassName = '', activeStyle = {} } = this.$props;\n\n const child = this.$slots.default;\n if (child.length !== 1) {\n warning(false, 'm-feedback组件只能包含一个子元素');\n return null;\n }\n let childProps = {\n on: disabled\n ? {}\n : {\n touchstart: this.onTouchStart,\n touchmove: this.onTouchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchCancel,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: this.onMouseLeave,\n },\n };\n\n if (!disabled && this.active) {\n childProps = {\n ...childProps,\n ...{\n style: activeStyle,\n class: activeClassName,\n },\n };\n }\n\n return cloneElement(child, childProps);\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getWidth, setStyle, menuAllProps } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport { getClass, getPropsData, getEvents } from '../_util/props-util';\n\nconst canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nconst MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nconst FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nconst DOMWrap = {\n name: 'DOMWrap',\n mixins: [BaseMixin],\n data() {\n this.resizeObserver = null;\n this.mutationObserver = null;\n\n // original scroll size of the list\n this.originalTotalWidth = 0;\n\n // copy of overflowed items\n this.overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n this.menuItemSizes = [];\n return {\n lastVisibleIndex: undefined,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setChildrenWidthAndResize();\n if (this.level === 1 && this.mode === 'horizontal') {\n const menuUl = this.$el;\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(entries => {\n entries.forEach(this.setChildrenWidthAndResize);\n });\n\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(() => {\n this.resizeObserver.disconnect();\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n this.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false,\n });\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n },\n methods: {\n // get all valid menuItem nodes\n getMenuItemNodes() {\n const { prefixCls } = this.$props;\n const ul = this.$el;\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(node => {\n return node.className.split(' ').indexOf(`${prefixCls}-overflowed-submenu`) < 0;\n });\n },\n\n getOverflowedSubMenuItem(keyPrefix, overflowedItems, renderPlaceholder) {\n const { overflowedIndicator, level, mode, prefixCls, theme } = this.$props;\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n const copy = this.$slots.default[0];\n const { title, eventKey, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars\n\n let style = {};\n let key = `${keyPrefix}-overflowed-indicator`;\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n display: 'none',\n };\n } else if (renderPlaceholder) {\n style = {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute',\n };\n key = `${key}-placeholder`;\n }\n\n const popupClassName = theme ? `${prefixCls}-${theme}` : '';\n const props = {};\n menuAllProps.props.forEach(k => {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n const subMenuProps = {\n props: {\n title: overflowedIndicator,\n popupClassName,\n ...props,\n eventKey: `${keyPrefix}-overflowed-indicator`,\n disabled: false,\n },\n class: `${prefixCls}-overflowed-submenu`,\n key,\n style,\n on: getEvents(copy),\n };\n\n return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;\n },\n\n // memorize rendered menuSize\n setChildrenWidthAndResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n const ul = this.$el;\n\n if (!ul) {\n return;\n }\n\n const ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n const lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n const menuItemNodes = this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n const overflowedItems = menuItemNodes.filter(\n c => c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0,\n );\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'inline-block');\n });\n\n this.menuItemSizes = menuItemNodes.map(c => getWidth(c));\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'none');\n });\n this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n this.originalTotalWidth = this.menuItemSizes.reduce((acc, cur) => acc + cur, 0);\n this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n },\n\n handleResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n\n const ul = this.$el;\n if (!ul) {\n return;\n }\n const width = getWidth(ul);\n\n this.overflowedItems = [];\n let currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n let lastVisibleIndex;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(liWidth => {\n currentSumWidth += liWidth;\n if (currentSumWidth + this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n this.setState({ lastVisibleIndex });\n },\n\n renderChildren(children) {\n // need to take care of overflowed items in horizontal mode\n const { lastVisibleIndex } = this.$data;\n const className = getClass(this);\n return (children || []).reduce((acc, childNode, index) => {\n let item = childNode;\n const eventKey = getPropsData(childNode).eventKey;\n if (this.mode === 'horizontal') {\n let overflowed = this.getOverflowedSubMenuItem(eventKey, []);\n if (lastVisibleIndex !== undefined && className[`${this.prefixCls}-root`] !== -1) {\n if (index > lastVisibleIndex) {\n item = cloneElement(\n childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n props: { eventKey: `${eventKey}-hidden` },\n class: { ...getClass(childNode), [MENUITEM_OVERFLOWED_CLASSNAME]: true },\n },\n );\n }\n if (index === lastVisibleIndex + 1) {\n this.overflowedItems = children.slice(lastVisibleIndex + 1).map(c => {\n return cloneElement(\n c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: getPropsData(c).eventKey, props: { mode: 'vertical-left' } },\n );\n });\n\n overflowed = this.getOverflowedSubMenuItem(eventKey, this.overflowedItems);\n }\n }\n\n const ret = [...acc, overflowed, item];\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(this.getOverflowedSubMenuItem(eventKey, [], true));\n }\n return ret;\n }\n return [...acc, item];\n }, []);\n },\n },\n\n render() {\n const Tag = this.$props.tag;\n const tagProps = {\n on: this.$listeners,\n };\n return <Tag {...tagProps}>{this.renderChildren(this.$slots.default)}</Tag>;\n },\n};\n\nDOMWrap.props = {\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string.def('div'),\n};\n\nexport default DOMWrap;\n","export default {\n name: 'MenuDivider',\n props: {\n disabled: {\n type: Boolean,\n default: true,\n },\n rootPrefixCls: String,\n },\n render() {\n const { rootPrefixCls } = this.$props;\n return <li class={`${rootPrefixCls}-item-divider`} />;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { Provider, create } from '../_util/store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport hasProp, { getOptionProps, getComponentFromProp, filterEmpty } from '../_util/props-util';\nimport commonPropsType from './commonPropsType';\n\nconst Menu = {\n name: 'Menu',\n props: {\n ...commonPropsType,\n selectable: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n\n data() {\n const props = getOptionProps(this);\n let selectedKeys = props.defaultSelectedKeys;\n let openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n this.store = create({\n selectedKeys,\n openKeys,\n activeKey: {\n '0-menu-': getActiveKey({ ...props, children: this.$slots.default || [] }, props.activeKey),\n },\n });\n\n // this.isRootMenu = true // 声明在props上\n return {};\n },\n mounted() {\n this.updateMiniStore();\n },\n updated() {\n this.updateMiniStore();\n },\n methods: {\n onSelect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n // root menu\n let selectedKeys = this.store.getState().selectedKeys;\n const selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('select', {\n ...selectInfo,\n selectedKeys: selectedKeys,\n });\n }\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n onKeyDown(e, callback) {\n this.$refs.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n },\n onOpenChange(event) {\n const openKeys = this.store.getState().openKeys.concat();\n let changed = false;\n const processSingle = e => {\n let oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n const index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!hasProp(this, 'openKeys')) {\n this.store.setState({ openKeys });\n }\n this.__emit('openChange', openKeys);\n }\n },\n\n onDeselect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n const selectedKeys = this.store.getState().selectedKeys.concat();\n const selectedKey = selectInfo.key;\n const index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('deselect', {\n ...selectInfo,\n selectedKeys: selectedKeys,\n });\n }\n },\n\n getOpenTransitionName() {\n const props = this.$props;\n let transitionName = props.openTransitionName;\n const animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = `${props.prefixCls}-open-${animationName}`;\n }\n return transitionName;\n },\n updateMiniStore() {\n const props = getOptionProps(this);\n if ('selectedKeys' in props) {\n this.store.setState({\n selectedKeys: props.selectedKeys || [],\n });\n }\n if ('openKeys' in props) {\n this.store.setState({\n openKeys: props.openKeys || [],\n });\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const subPopupMenuProps = {\n props: {\n ...props,\n itemIcon: getComponentFromProp(this, 'itemIcon', props),\n expandIcon: getComponentFromProp(this, 'expandIcon', props),\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props) || (\n <span>···</span>\n ),\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this,\n children: filterEmpty(this.$slots.default || []),\n },\n class: `${props.prefixCls}-root`,\n on: {\n ...this.$listeners,\n click: this.onClick,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n select: this.onSelect,\n },\n ref: 'innerMenu',\n };\n return (\n <Provider store={this.store}>\n <SubPopupMenu {...subPopupMenuProps} />\n </Provider>\n );\n },\n};\nexport default Menu;\n","import PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp } from '../_util/props-util';\n\nconst props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any,\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nconst MenuItem = {\n name: 'MenuItem',\n props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created() {\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated() {\n this.$nextTick(() => {\n if (this.active) {\n scrollIntoView(this.$el, this.parentMenu.$el, {\n onlyScrollIfNeeded: true,\n });\n }\n });\n this.callRef();\n },\n beforeDestroy() {\n const props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n methods: {\n onKeyDown(e) {\n const keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n\n onMouseLeave(e) {\n const { eventKey } = this.$props;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey } = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: true,\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, isSelected } = this.$props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', info);\n }\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-item`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n },\n\n render() {\n const props = { ...this.$props };\n const className = {\n [this.getPrefixCls()]: true,\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n };\n let attrs = {\n ...props.attribute,\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled,\n };\n if (props.role === 'option') {\n // overwrite to option\n attrs = {\n ...attrs,\n role: 'option',\n 'aria-selected': props.isSelected,\n };\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside <li/> element\n // <li><a role='menuitem'>Link</a></li> would be a good example\n // in this case the role on <li/> should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n const mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter,\n };\n\n const style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n const listeners = { ...this.$listeners };\n menuAllProps.props.forEach(key => delete props[key]);\n menuAllProps.on.forEach(key => delete listeners[key]);\n const liProps = {\n attrs: {\n ...props,\n ...attrs,\n },\n on: {\n ...listeners,\n ...mouseEvent,\n },\n };\n return (\n <li {...liProps} style={style} class={className}>\n {this.$slots.default}\n {getComponentFromProp(this, 'itemIcon', props)}\n </li>\n );\n },\n};\n\nconst connected = connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n\nexport default connected;\nexport { props as menuItemProps };\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp } from '../_util/props-util';\n// import { menuAllProps } from './util'\n\nconst MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any,\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem(item) {\n const { renderMenuItem, index, subMenuKey } = this.$props;\n return renderMenuItem(item, index, subMenuKey);\n },\n },\n render() {\n const props = { ...this.$props };\n const { rootPrefixCls, title } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n // menuAllProps.props.forEach(key => delete props[key])\n const listeners = { ...this.$listeners };\n delete listeners.click;\n\n return (\n <li {...{ on: listeners, class: `${rootPrefixCls}-item-group` }}>\n <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>\n {getComponentFromProp(this, 'title')}\n </div>\n <ul class={listClassName}>\n {this.$slots.default && this.$slots.default.map(this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n },\n};\n\nexport default MenuItemGroup;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport KeyCode from '../_util/KeyCode';\nimport { connect } from '../_util/store';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getComponentFromProp, filterEmpty } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey } from './util';\nimport getTransitionProps from '../_util/getTransitionProps';\n\nlet guid = 0;\n\nconst popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop',\n};\n\nconst updateDefaultActiveFirst = (store, eventKey, defaultActiveFirst) => {\n const menuId = getMenuIdFromSubMenuEventKey(eventKey);\n const state = store.getState();\n store.setState({\n defaultActiveFirst: {\n ...state.defaultActiveFirst,\n [menuId]: defaultActiveFirst,\n },\n });\n};\n\nconst SubMenu = {\n name: 'SubMenu',\n props: {\n parentMenu: PropTypes.object,\n title: PropTypes.any,\n selectedKeys: PropTypes.array.def([]),\n openKeys: PropTypes.array.def([]),\n openChange: PropTypes.func.def(noop),\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n isRootMenu: PropTypes.bool.def(false),\n index: PropTypes.number,\n triggerSubMenuAction: PropTypes.string,\n popupClassName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n forceSubMenuRender: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n disabled: PropTypes.bool,\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n openTransitionName: PropTypes.string,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n manualRef: PropTypes.func.def(noop),\n builtinPlacements: PropTypes.object.def({}),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n },\n mixins: [BaseMixin],\n isSubMenu: true,\n data() {\n const props = this.$props;\n const store = props.store;\n const eventKey = props.eventKey;\n const defaultActiveFirst = store.getState().defaultActiveFirst;\n let value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n return {\n // defaultActiveFirst: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n beforeDestroy() {\n const { eventKey } = this;\n this.__emit('destroy', eventKey);\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n cancelAnimationTimeout(this.minWidthTimeout);\n this.minWidthTimeout = null;\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n cancelAnimationTimeout(this.mouseenterTimeout);\n this.mouseenterTimeout = null;\n }\n },\n methods: {\n handleUpdated() {\n const { mode, parentMenu, manualRef } = this.$props;\n\n // invoke customized ref to expose component to mixin\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.isOpen) {\n return;\n }\n\n this.minWidthTimeout = requestAnimationTimeout(() => this.adjustWidth(), 0);\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n const menu = this.menuInstance;\n const { store, isOpen } = this.$props;\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n this.triggerOpenChange(true);\n // need to update current menu's defaultActiveFirst value\n updateDefaultActiveFirst(store, this.eventKey, true);\n }\n return true;\n }\n if (keyCode === KeyCode.LEFT) {\n let handled;\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n if (!handled) {\n this.triggerOpenChange(false);\n handled = true;\n }\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n },\n\n onPopupVisibleChange(visible) {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n },\n\n onMouseEnter(e) {\n const { eventKey: key, store } = this.$props;\n updateDefaultActiveFirst(store, key, false);\n this.__emit('mouseenter', {\n key,\n domEvent: e,\n });\n },\n\n onMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n // parentMenu.subMenuLeaveFn = () => {\n // // trigger mouseleave\n // this.__emit('mouseleave', {\n // key: eventKey,\n // domEvent: e,\n // })\n // }\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n // prevent popup menu and submenu gap\n // parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100)\n },\n\n onTitleMouseEnter(domEvent) {\n const { eventKey: key } = this.$props;\n // this.clearSubMenuTitleLeaveTimer()\n this.__emit('itemHover', {\n key,\n hover: true,\n });\n this.__emit('titleMouseenter', {\n key,\n domEvent,\n });\n },\n\n onTitleMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('titleMouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onTitleClick(e) {\n const { triggerSubMenuAction, eventKey, isOpen, store } = this.$props;\n this.__emit('titleClick', {\n key: eventKey,\n domEvent: e,\n });\n if (triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!isOpen, 'click');\n updateDefaultActiveFirst(store, eventKey, false);\n },\n\n onSubMenuClick(info) {\n this.__emit('click', this.addKeyPath(info));\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-submenu`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getOpenClassName() {\n return `${this.$props.rootPrefixCls}-submenu-open`;\n },\n\n saveMenuInstance(c) {\n // children menu instance\n this.menuInstance = c;\n },\n\n addKeyPath(info) {\n return {\n ...info,\n keyPath: (info.keyPath || []).concat(this.$props.eventKey),\n };\n },\n\n // triggerOpenChange (open, type) {\n // const key = this.$props.eventKey\n // this.__emit('openChange', {\n // key,\n // item: this,\n // trigger: type,\n // open,\n // })\n // },\n triggerOpenChange(open, type) {\n const key = this.$props.eventKey;\n const openChange = () => {\n this.__emit('openChange', {\n key,\n item: this,\n trigger: type,\n open,\n });\n };\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n this.mouseenterTimeout = requestAnimationTimeout(() => {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n },\n\n isChildrenSelected() {\n const ret = { find: false };\n loopMenuItemRecursively(this.$slots.default, this.$props.selectedKeys, ret);\n return ret.find;\n },\n // isOpen () {\n // return this.$props.openKeys.indexOf(this.$props.eventKey) !== -1\n // },\n\n adjustWidth() {\n /* istanbul ignore if */\n if (!this.$refs.subMenuTitle || !this.menuInstance) {\n return;\n }\n const popupMenu = this.menuInstance.$el;\n if (popupMenu.offsetWidth >= this.$refs.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = `${this.$refs.subMenuTitle.offsetWidth}px`;\n },\n\n renderChildren(children) {\n const props = this.$props;\n const { select, deselect, openChange } = this.$listeners;\n const subPopupMenuProps = {\n props: {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n visible: props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n selectedKeys: props.selectedKeys,\n eventKey: `${props.eventKey}-menu-`,\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: this,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[\n getMenuIdFromSubMenuEventKey(props.eventKey)\n ],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n manualRef: this.saveMenuInstance,\n itemIcon: getComponentFromProp(this, 'itemIcon'),\n expandIcon: getComponentFromProp(this, 'expandIcon'),\n children,\n },\n on: {\n click: this.onSubMenuClick,\n select,\n deselect,\n openChange,\n },\n id: this._menuId,\n };\n const baseProps = subPopupMenuProps.props;\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;\n // never rendered not planning to, don't render\n if (!this.haveOpened) {\n return <div />;\n }\n\n // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's not visible (not sure why)\n // show appear transition if it's not inline mode\n const transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';\n subPopupMenuProps.class = ` ${baseProps.prefixCls}-sub`;\n let animProps = { appear: transitionAppear, css: false };\n let transitionProps = {\n props: animProps,\n on: {},\n };\n if (baseProps.openTransitionName) {\n transitionProps = getTransitionProps(baseProps.openTransitionName, {\n appear: transitionAppear,\n });\n } else if (typeof baseProps.openAnimation === 'object') {\n animProps = { ...animProps, ...(baseProps.openAnimation.props || {}) };\n if (!transitionAppear) {\n animProps.appear = false;\n }\n } else if (typeof baseProps.openAnimation === 'string') {\n transitionProps = getTransitionProps(baseProps.openAnimation, { appear: transitionAppear });\n }\n\n if (typeof baseProps.openAnimation === 'object' && baseProps.openAnimation.on) {\n transitionProps.on = baseProps.openAnimation.on;\n }\n return (\n <transition {...transitionProps}>\n <SubPopupMenu v-show={props.isOpen} {...subPopupMenuProps} />\n </transition>\n );\n },\n },\n\n render() {\n const props = this.$props;\n const { rootPrefixCls, parentMenu, $listeners = {} } = this;\n const isOpen = props.isOpen;\n const prefixCls = this.getPrefixCls();\n const isInlineMode = props.mode === 'inline';\n const className = {\n [prefixCls]: true,\n [`${prefixCls}-${props.mode}`]: true,\n [this.getOpenClassName()]: isOpen,\n [this.getActiveClassName()]: props.active || (isOpen && !isInlineMode),\n [this.getDisabledClassName()]: props.disabled,\n [this.getSelectedClassName()]: this.isChildrenSelected(),\n };\n\n if (!this._menuId) {\n if (props.eventKey) {\n this._menuId = `${props.eventKey}$Menu`;\n } else {\n this._menuId = `$__$${++guid}$Menu`;\n }\n }\n\n let mouseEvents = {};\n let titleClickEvents = {};\n let titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n mouseleave: this.onMouseLeave,\n mouseenter: this.onMouseEnter,\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n click: this.onTitleClick,\n };\n titleMouseEvents = {\n mouseenter: this.onTitleMouseEnter,\n mouseleave: this.onTitleMouseLeave,\n };\n }\n\n const style = {};\n if (isInlineMode) {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n let ariaOwns = {};\n // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n if (isOpen) {\n ariaOwns = {\n 'aria-owns': this._menuId,\n };\n }\n const titleProps = {\n attrs: {\n 'aria-expanded': isOpen,\n ...ariaOwns,\n 'aria-haspopup': 'true',\n title: typeof props.title === 'string' ? props.title : undefined,\n },\n on: {\n ...titleMouseEvents,\n ...titleClickEvents,\n },\n style,\n class: `${prefixCls}-title`,\n ref: 'subMenuTitle',\n };\n // expand custom icon should NOT be displayed in menu with horizontal mode.\n let icon = null;\n if (props.mode !== 'horizontal') {\n icon = getComponentFromProp(this, 'expandIcon', props);\n }\n const title = (\n <div {...titleProps}>\n {getComponentFromProp(this, 'title')}\n {icon || <i class={`${prefixCls}-arrow`} />}\n </div>\n );\n const children = this.renderChildren(filterEmpty(this.$slots.default));\n\n const getPopupContainer = this.parentMenu.isRootMenu\n ? this.parentMenu.getPopupContainer\n : triggerNode => triggerNode.parentNode;\n const popupPlacement = popupPlacementMap[props.mode];\n const popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};\n const popupClassName = props.mode === 'inline' ? '' : props.popupClassName;\n const liProps = {\n on: { ...omit($listeners, ['click']), ...mouseEvents },\n class: className,\n };\n\n return (\n <li {...liProps} role=\"menuitem\">\n {isInlineMode && title}\n {isInlineMode && children}\n {!isInlineMode && (\n <Trigger\n prefixCls={prefixCls}\n popupClassName={`${prefixCls}-popup ${rootPrefixCls}-${\n parentMenu.theme\n } ${popupClassName || ''}`}\n getPopupContainer={getPopupContainer}\n builtinPlacements={placements}\n builtinPlacements={Object.assign({}, placements, props.builtinPlacements)}\n popupPlacement={popupPlacement}\n popupVisible={isOpen}\n popupAlign={popupAlign}\n action={props.disabled ? [] : [props.triggerSubMenuAction]}\n mouseEnterDelay={props.subMenuOpenDelay}\n mouseLeaveDelay={props.subMenuCloseDelay}\n onPopupVisibleChange={this.onPopupVisibleChange}\n forceRender={props.forceSubMenuRender}\n // popupTransitionName='rc-menu-open-slide-up'\n // popupAnimation={transitionProps}\n >\n <template slot=\"popup\">{children}</template>\n {title}\n </Trigger>\n )}\n </li>\n );\n },\n};\n\nconst connected = connect(({ openKeys, activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys,\n}))(SubMenu);\n\nconnected.isSubMenu = true;\n\nexport default connected;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { connect } from '../_util/store';\nimport BaseMixin from '../_util/BaseMixin';\nimport KeyCode from '../_util/KeyCode';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\nimport { cloneElement } from '../_util/vnode';\nimport {\n initDefaultProps,\n getOptionProps,\n getPropsData,\n getEvents,\n getComponentFromProp,\n} from '../_util/props-util';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(c => {\n return !!c.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n const state = store.getState();\n store.setState({\n activeKey: {\n ...state.activeKey,\n [menuId]: activeKey,\n },\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function saveRef(key, c) {\n if (c) {\n const index = this.instanceArrayKeyIndexMap[key];\n this.instanceArray[index] = c;\n }\n}\nexport function getActiveKey(props, originalActiveKey) {\n let activeKey = originalActiveKey;\n const { eventKey, defaultActiveFirst, children } = props;\n if (activeKey !== undefined && activeKey !== null) {\n let found;\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (defaultActiveFirst) {\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n if (!activeKey && c && !propsData.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nconst SubPopupMenu = {\n name: 'SubPopupMenu',\n props: initDefaultProps(\n {\n // onSelect: PropTypes.func,\n // onClick: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onOpenChange: PropTypes.func,\n // onDestroy: PropTypes.func,\n prefixCls: PropTypes.string,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n visible: PropTypes.bool,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.object,\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n level: PropTypes.number,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n children: PropTypes.any.def([]),\n __propsSymbol__: PropTypes.any, // mock componentWillReceiveProps\n },\n {\n prefixCls: 'rc-menu',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n manualRef: noop,\n },\n ),\n\n mixins: [BaseMixin],\n created() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n props.store.setState({\n activeKey: {\n ...props.store.getState().activeKey,\n [props.eventKey]: getActiveKey(props, props.activeKey),\n },\n });\n this.instanceArray = [];\n },\n mounted() {\n // invoke customized ref to expose component to mixin\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n updated() {\n const props = getOptionProps(this);\n const prevProps = this.prevProps;\n const originalActiveKey =\n 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n const activeKey = getActiveKey(props, originalActiveKey);\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n const prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n this.prevProps = { ...props };\n },\n methods: {\n // all keyboard events callbacks run from here at first\n onKeyDown(e, callback) {\n const keyCode = e.keyCode;\n let handled;\n this.getFlatInstanceArray().forEach(obj => {\n if (obj && obj.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n if (handled) {\n return 1;\n }\n let activeItem = null;\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(this.$props.store, getEventKey(this.$props), activeItem.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n },\n\n onItemHover(e) {\n const { key, hover } = e;\n updateActiveKey(this.$props.store, getEventKey(this.$props), hover ? key : null);\n },\n\n onDeselect(selectInfo) {\n this.__emit('deselect', selectInfo);\n },\n\n onSelect(selectInfo) {\n this.__emit('select', selectInfo);\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n\n onOpenChange(e) {\n this.__emit('openChange', e);\n },\n\n onDestroy(key) {\n this.__emit('destroy', key);\n },\n\n getFlatInstanceArray() {\n return this.instanceArray;\n },\n\n getOpenTransitionName() {\n return this.$props.openTransitionName;\n },\n\n step(direction) {\n let children = this.getFlatInstanceArray();\n const activeKey = this.$props.store.getState().activeKey[getEventKey(this.$props)];\n const len = children.length;\n if (!len) {\n return null;\n }\n if (direction < 0) {\n children = children.concat().reverse();\n }\n // find current activeIndex\n let activeIndex = -1;\n children.every((c, ci) => {\n if (c && c.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (\n !this.defaultActiveFirst &&\n activeIndex !== -1 &&\n allDisabled(children.slice(activeIndex, len - 1))\n ) {\n return undefined;\n }\n const start = (activeIndex + 1) % len;\n let i = start;\n\n do {\n const child = children[i];\n if (!child || child.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n },\n getIcon(instance, name) {\n if (instance.$createElement) {\n const temp = instance[name];\n if (temp !== undefined) {\n return temp;\n }\n return instance.$slots[name] || instance.$scopedSlots[name];\n } else {\n const temp = getPropsData(instance)[name];\n if (temp !== undefined) {\n return temp;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === name) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n },\n renderCommonMenuItem(child, i, extraProps) {\n if (child.tag === undefined) {\n return child;\n }\n const state = this.$props.store.getState();\n const props = this.$props;\n const key = getKeyFromChildrenIndex(child, props.eventKey, i);\n const childProps = child.componentOptions.propsData || {};\n\n const isActive = key === state.activeKey[getEventKey(this.$props)];\n if (!childProps.disabled) {\n // manualRef的执行顺序不能保证,使用key映射ref在this.instanceArray中的位置\n this.instanceArrayKeyIndexMap[key] = Object.keys(this.instanceArrayKeyIndexMap).length;\n }\n const childListeners = getEvents(child);\n const newChildProps = {\n props: {\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? noop : saveRef.bind(this, key),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n builtinPlacements: props.builtinPlacements,\n itemIcon: this.getIcon(child, 'itemIcon') || this.getIcon(this, 'itemIcon'),\n expandIcon: this.getIcon(child, 'expandIcon') || this.getIcon(this, 'expandIcon'),\n ...extraProps,\n },\n on: {\n click: e => {\n (childListeners.click || noop)(e);\n this.onClick(e);\n },\n itemHover: this.onItemHover,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n // destroy: this.onDestroy,\n select: this.onSelect,\n },\n };\n // ref: https://github.com/ant-design/ant-design/issues/13943\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.props.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n },\n\n renderMenuItem(c, i, subMenuKey) {\n if (!c) {\n return null;\n }\n const state = this.$props.store.getState();\n const extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.triggerSubMenuAction,\n isRootMenu: false,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n },\n },\n render() {\n const { ...props } = this.$props;\n const { eventKey, prefixCls, visible, level, mode, theme } = props;\n this.instanceArray = [];\n this.instanceArrayKeyIndexMap = {};\n const className = classNames(props.prefixCls, `${props.prefixCls}-${props.mode}`);\n const domWrapProps = {\n props: {\n tag: 'ul',\n // hiddenClassName: `${prefixCls}-hidden`,\n visible,\n prefixCls,\n level,\n mode,\n theme,\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator'),\n },\n attrs: {\n role: props.role || 'menu',\n },\n class: className,\n // Otherwise, the propagated click event will trigger another onClick\n on: omit(this.$listeners || {}, ['click']),\n };\n // if (props.id) {\n // domProps.id = props.id\n // }\n if (props.focusable) {\n domWrapProps.attrs.tabIndex = '0';\n domWrapProps.on.keydown = this.onKeyDown;\n }\n return (\n // ESLint is not smart enough to know that the type of `children` was checked.\n /* eslint-disable */\n <DOMWrap {...domWrapProps}>\n {props.children.map((c, i) => this.renderMenuItem(c, i, eventKey || '0-menu-'))}\n </DOMWrap>\n /*eslint -enable */\n );\n },\n};\n\nexport default connect()(SubPopupMenu);\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string.def('rc-menu'),\n focusable: PropTypes.bool.def(true),\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool.def(true),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).def([]),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def(\n [],\n ),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n triggerSubMenuAction: PropTypes.string.def('hover'),\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n getPopupContainer: PropTypes.func,\n openTransitionName: PropTypes.string,\n forceSubMenuRender: PropTypes.bool,\n selectable: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n builtinPlacements: PropTypes.object.def({}),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n};\n","// based on rc-menu 7.4.21\nimport Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem, { menuItemProps } from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport {\n SubMenu,\n MenuItem as Item,\n menuItemProps as itemProps,\n MenuItem,\n MenuItemGroup,\n MenuItemGroup as ItemGroup,\n Divider,\n};\n\nexport default Menu;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7],\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7],\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n },\n};\n\nexport default placements;\n","const isMobile = require('ismobilejs');\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key === undefined ? `${prefix}item_${index}` : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n children.forEach(c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots.default.forEach(c2 => {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(c => {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n const options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = {\n props: [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\n 'popupAlign',\n 'popupOffset',\n 'isOpen',\n 'renderMenuItem',\n 'manualRef',\n 'subMenuKey',\n 'disabled',\n 'index',\n 'isSelected',\n 'store',\n 'activeKey',\n 'builtinPlacements',\n 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute',\n 'value',\n 'popupClassName',\n 'inlineCollapsed',\n 'menu',\n 'theme',\n 'itemIcon',\n 'expandIcon',\n ],\n on: [\n 'select',\n 'deselect',\n 'destroy',\n 'openChange',\n 'itemHover',\n 'titleMouseenter',\n 'titleMouseleave',\n 'titleClick',\n ],\n};\n\n// ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\nexport const getWidth = elem => {\n let width =\n elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport const isMobileDevice = () => {\n return isMobile.any;\n};\n","import PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction noop() {}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n duration: PropTypes.number.def(1.5),\n closable: PropTypes.bool,\n prefixCls: PropTypes.string,\n update: PropTypes.bool,\n closeIcon: PropTypes.any,\n },\n watch: {\n duration() {\n this.restartCloseTimer();\n },\n },\n\n mounted() {\n this.startCloseTimer();\n },\n updated() {\n if (this.update) {\n this.restartCloseTimer();\n }\n },\n\n beforeDestroy() {\n this.clearCloseTimer();\n this.willDestroy = true; // beforeDestroy调用后依然会触发onMouseleave事件\n },\n methods: {\n close() {\n this.clearCloseTimer();\n this.__emit('close');\n },\n\n startCloseTimer() {\n this.clearCloseTimer();\n if (!this.willDestroy && this.duration) {\n this.closeTimer = setTimeout(() => {\n this.close();\n }, this.duration * 1000);\n }\n },\n\n clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n },\n },\n\n render() {\n const {\n prefixCls,\n closable,\n clearCloseTimer,\n startCloseTimer,\n $slots,\n close,\n $listeners,\n } = this;\n const componentClass = `${prefixCls}-notice`;\n const className = {\n [`${componentClass}`]: 1,\n [`${componentClass}-closable`]: closable,\n };\n const style = getStyle(this);\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n return (\n <div\n class={className}\n style={style || { right: '50%' }}\n onMouseenter={clearCloseTimer}\n onMouseleave={startCloseTimer}\n onClick={$listeners.click || noop}\n >\n <div class={`${componentClass}-content`}>{$slots.default}</div>\n {closable ? (\n <a tabIndex=\"0\" onClick={close} class={`${componentClass}-close`}>\n {closeIcon || <span class={`${componentClass}-close-x`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport createChainedFunction from '../_util/createChainedFunction';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Notice from './Notice';\n\nfunction noop() {}\n\nlet seed = 0;\nconst now = Date.now();\n\nfunction getUuid() {\n return `rcNotification_${now}_${seed++}`;\n}\n\nconst Notification = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-notification'),\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).def('fade'),\n maxCount: PropTypes.number,\n closeIcon: PropTypes.any,\n },\n data() {\n return {\n notices: [],\n };\n },\n methods: {\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${props.prefixCls}-${props.animation}`;\n }\n return transitionName;\n },\n\n add(notice) {\n const key = (notice.key = notice.key || getUuid());\n const { maxCount } = this.$props;\n this.setState(previousState => {\n const notices = previousState.notices;\n const noticeIndex = notices.map(v => v.key).indexOf(key);\n const updatedNotices = notices.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, notice);\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n notice.updateKey = updatedNotices[0].updateKey || updatedNotices[0].key;\n updatedNotices.shift();\n }\n updatedNotices.push(notice);\n }\n return {\n notices: updatedNotices,\n };\n });\n },\n\n remove(key) {\n this.setState(previousState => {\n return {\n notices: previousState.notices.filter(notice => notice.key !== key),\n };\n });\n },\n },\n\n render(h) {\n const { prefixCls, notices, remove, getTransitionName } = this;\n const transitionProps = getTransitionProps(getTransitionName());\n const noticeNodes = notices.map((notice, index) => {\n const update = Boolean(index === notices.length - 1 && notice.updateKey);\n const key = notice.updateKey ? notice.updateKey : notice.key;\n\n const { content, duration, closable, onClose, style, class: className } = notice;\n const close = createChainedFunction(remove.bind(this, notice.key), onClose);\n const noticeProps = {\n props: {\n prefixCls,\n duration,\n closable,\n update,\n closeIcon: getComponentFromProp(this, 'closeIcon'),\n },\n on: {\n close,\n click: notice.onClick || noop,\n },\n style,\n class: className,\n key,\n };\n return (\n <Notice {...noticeProps}>{typeof content === 'function' ? content(h) : content}</Notice>\n );\n });\n const className = {\n [prefixCls]: 1,\n };\n const style = getStyle(this);\n return (\n <div\n class={className}\n style={\n style || {\n top: '65px',\n left: '50%',\n }\n }\n >\n <transition-group {...transitionProps}>{noticeNodes}</transition-group>\n </div>\n );\n },\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n const { getContainer, style, class: className, ...props } = properties || {};\n const div = document.createElement('div');\n if (getContainer) {\n const root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n new Vue({\n el: div,\n mounted() {\n const self = this;\n this.$nextTick(() => {\n callback({\n notice(noticeProps) {\n self.$refs.notification.add(noticeProps);\n },\n removeNotice(key) {\n self.$refs.notification.remove(key);\n },\n component: self,\n destroy() {\n self.$destroy();\n self.$el.parentNode.removeChild(self.$el);\n },\n });\n });\n },\n render() {\n const p = {\n props,\n ref: 'notification',\n style,\n class: className,\n };\n return <Notification {...p} />;\n },\n });\n};\n\nexport default Notification;\n","// based on rc-notification 3.3.0\nimport Notification from './Notification';\nexport default Notification;\n","export default {\n ZERO: 48,\n NINE: 57,\n\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n\n ARROW_UP: 38,\n ARROW_DOWN: 40,\n};\n","import PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n rootPrefixCls: PropTypes.String,\n selectPrefixCls: PropTypes.String,\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.any,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.array.def(['10', '20', '30', '40']),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n goButton: PropTypes.any,\n },\n data() {\n return {\n goInputText: '',\n };\n },\n methods: {\n defaultBuildOptionText(opt) {\n return `${opt.value} ${this.locale.items_per_page}`;\n },\n handleChange(e) {\n this.setState({\n goInputText: e.target.value,\n });\n },\n go(e) {\n let val = this.goInputText;\n if (val === '') {\n return;\n }\n val = isNaN(val) ? this.current : Number(val);\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n this.setState({\n goInputText: '',\n });\n this.quickGo(val);\n }\n },\n },\n render() {\n const {\n rootPrefixCls,\n locale,\n changeSize,\n quickGo,\n goButton,\n selectComponentClass: Select,\n defaultBuildOptionText,\n } = this;\n const prefixCls = `${rootPrefixCls}-options`;\n let changeSelect = null;\n let goInput = null;\n let gotoButton = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n const Option = Select.Option;\n const pageSize = this.pageSize || this.pageSizeOptions[0];\n const buildOptionText = this.buildOptionText || defaultBuildOptionText;\n const options = this.pageSizeOptions.map((opt, i) => (\n <Option key={i} value={opt}>\n {buildOptionText({ value: opt })}\n </Option>\n ));\n\n changeSelect = (\n <Select\n prefixCls={this.selectPrefixCls}\n showSearch={false}\n class={`${prefixCls}-size-changer`}\n optionLabelProp=\"children\"\n dropdownMatchSelectWidth={false}\n value={pageSize.toString()}\n onChange={value => this.changeSize(Number(value))}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n >\n {options}\n </Select>\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button type=\"button\" onClick={this.go} onKeyup={this.go}>\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span onClick={this.go} onKeyup={this.go}>\n {goButton}\n </span>\n );\n }\n }\n goInput = (\n <div class={`${prefixCls}-quick-jumper`}>\n {locale.jump_to}\n <input\n type=\"text\"\n value={this.goInputText}\n onInput={this.handleChange}\n onKeyup={this.go}\n />\n {locale.page}\n {gotoButton}\n </div>\n );\n }\n\n return (\n <li class={`${prefixCls}`}>\n {changeSelect}\n {goInput}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'Pager',\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n showTitle: PropTypes.bool,\n itemRender: {\n type: Function,\n default: () => {},\n },\n },\n computed: {\n classes() {\n const prefixCls = `${this.rootPrefixCls}-item`;\n let cls = `${prefixCls} ${prefixCls}-${this.page}`;\n if (this.active) {\n cls = `${cls} ${prefixCls}-active`;\n }\n return cls;\n },\n },\n methods: {\n handleClick() {\n this.$emit('click', this.page);\n },\n handleKeyPress(event) {\n this.$emit('keypress', event, this.handleClick, this.page);\n },\n },\n render() {\n const { rootPrefixCls, page, active } = this;\n const prefixCls = `${rootPrefixCls}-item`;\n let cls = `${prefixCls} ${prefixCls}-${page}`;\n\n if (active) {\n cls = `${cls} ${prefixCls}-active`;\n }\n\n if (!page) {\n cls = `${cls} ${prefixCls}-disabled`;\n }\n\n return (\n <li\n class={cls}\n onClick={this.handleClick}\n onKeypress={this.handleKeyPress}\n title={this.showTitle ? this.page : null}\n tabIndex=\"0\"\n >\n {this.itemRender(this.page, 'page', <a>{this.page}</a>)}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\n\nfunction noop() {}\n\n// 是否是正整数\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n let pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default {\n name: 'Pagination',\n mixins: [BaseMixin],\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n prefixCls: PropTypes.string.def('rc-pagination'),\n selectPrefixCls: PropTypes.string.def('rc-select'),\n current: PropTypes.number,\n defaultCurrent: PropTypes.number.def(1),\n total: PropTypes.number.def(0),\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number.def(10),\n hideOnSinglePage: PropTypes.bool.def(false),\n showSizeChanger: PropTypes.bool.def(false),\n showLessItems: PropTypes.bool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.bool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),\n showTitle: PropTypes.bool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.bool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func.def(defaultItemRender),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any,\n },\n data() {\n const hasOnChange = this.onChange !== noop;\n const hasCurrent = hasProp(this, 'current');\n if (hasCurrent && !hasOnChange) {\n console.warn(\n 'Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.',\n ); // eslint-disable-line\n }\n let current = this.defaultCurrent;\n if (hasCurrent) {\n current = this.current;\n }\n\n let pageSize = this.defaultPageSize;\n if (hasProp(this, 'pageSize')) {\n pageSize = this.pageSize;\n }\n\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize,\n };\n },\n watch: {\n current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val,\n });\n },\n pageSize(val) {\n const newState = {};\n let current = this.stateCurrent;\n const newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent(val, oldValue) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n this.$nextTick(() => {\n if (this.$refs.paginationNode) {\n const lastCurrentNode = this.$refs.paginationNode.querySelector(\n `.${this.prefixCls}-item-${oldValue}`,\n );\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n },\n methods: {\n getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage() {\n return Math.min(\n calculatePage(undefined, this.$data, this.$props),\n this.stateCurrent + (this.showLessItems ? 3 : 5),\n );\n },\n getItemIcon(icon) {\n const { prefixCls } = this.$props;\n const iconNode = getComponentFromProp(this, icon, this.$props) || (\n <a class={`${prefixCls}-item-link`} />\n );\n return iconNode;\n },\n isValid(page) {\n return isInteger(page) && page >= 1 && page !== this.stateCurrent;\n },\n // calculatePage (p) {\n // let pageSize = p\n // if (typeof pageSize === 'undefined') {\n // pageSize = this.statePageSize\n // }\n // return Math.floor((this.total - 1) / pageSize) + 1\n // },\n handleKeyDown(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp(event) {\n const inputValue = event.target.value;\n const stateCurrentInputValue = this.stateCurrentInputValue;\n let value;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = stateCurrentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== stateCurrentInputValue) {\n this.setState({\n stateCurrentInputValue: value,\n });\n }\n\n if (event.keyCode === KEYCODE.ENTER) {\n this.handleChange(value);\n } else if (event.keyCode === KEYCODE.ARROW_UP) {\n this.handleChange(value - 1);\n } else if (event.keyCode === KEYCODE.ARROW_DOWN) {\n this.handleChange(value + 1);\n }\n },\n changePageSize(size) {\n let current = this.stateCurrent;\n const preCurrent = current;\n const newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size,\n });\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current,\n });\n }\n }\n this.$emit('update:pageSize', size);\n this.$emit('showSizeChange', current, size);\n if (current !== preCurrent) {\n this.$emit('change.current', current, size);\n }\n },\n handleChange(p) {\n let page = p;\n if (this.isValid(page)) {\n const currentPage = calculatePage(undefined, this.$data, this.$props);\n if (page > currentPage) {\n page = currentPage;\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page,\n });\n }\n // this.$emit('input', page)\n this.$emit('change', page, this.statePageSize);\n this.$emit('change.current', page, this.statePageSize);\n return page;\n }\n return this.stateCurrent;\n },\n prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter(event, callback, ...restParams) {\n if (event.key === 'Enter' || event.charCode === 13) {\n callback(...restParams);\n }\n },\n runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n },\n },\n render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n const props = this.$props;\n const locale = this.locale;\n\n const prefixCls = this.prefixCls;\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const pagerList = [];\n let jumpPrev = null;\n let jumpNext = null;\n let firstPager = null;\n let lastPager = null;\n let gotoButton = null;\n const goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n const pageBufferSize = this.showLessItems ? 1 : 2;\n const { stateCurrent, statePageSize } = this;\n const prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n const nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button type=\"button\" onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {goButton}\n </span>\n );\n }\n gotoButton = (\n <li\n title={this.showTitle ? `${locale.jump_to}${this.stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n {gotoButton}\n </li>\n );\n }\n const hasPrev = this.hasPrev();\n const hasNext = this.hasNext();\n return (\n <ul class={`${prefixCls} ${prefixCls}-simple`}>\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={hasPrev ? 0 : null}\n onKeypress={this.runIfEnterPrev}\n class={`${hasPrev ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={!this.hasPrev()}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n <li\n title={this.showTitle ? `${stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n <input\n type=\"text\"\n value={this.stateCurrentInputValue}\n onKeydown={this.handleKeyDown}\n onKeyup={this.handleKeyUp}\n onInput={this.handleKeyUp}\n size=\"3\"\n />\n <span class={`${prefixCls}-slash`}>/</span>\n {allPages}\n </li>\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={this.hasNext ? 0 : null}\n onKeypress={this.runIfEnterNext}\n class={`${hasNext ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={!this.hasNext()}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n {gotoButton}\n </ul>\n );\n }\n if (allPages <= 5 + pageBufferSize * 2) {\n const pagerProps = {\n props: {\n locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: props.itemRender,\n },\n on: {\n click: this.handleChange,\n keypress: this.runIfEnter,\n },\n };\n if (!allPages) {\n pagerList.push(\n <Pager {...pagerProps} key=\"noPager\" page={allPages} class={`${prefixCls}-disabled`} />,\n );\n }\n for (let i = 1; i <= allPages; i++) {\n const active = stateCurrent === i;\n pagerList.push(<Pager {...pagerProps} key={i} page={i} active={active} />);\n }\n } else {\n const prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n const nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n if (this.showPrevNextJumpers) {\n let jumpPrevClassString = `${prefixCls}-jump-prev`;\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ` ${prefixCls}-jump-prev-custom-icon`;\n }\n jumpPrev = (\n <li\n title={this.showTitle ? prevItemTitle : null}\n key=\"prev\"\n onClick={this.jumpPrev}\n tabIndex=\"0\"\n onKeypress={this.runIfEnterJumpPrev}\n class={jumpPrevClassString}\n >\n {this.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon('jumpPrevIcon'))}\n </li>\n );\n let jumpNextClassString = `${prefixCls}-jump-next`;\n if (props.jumpNextIcon) {\n jumpNextClassString += ` ${prefixCls}-jump-next-custom-icon`;\n }\n jumpNext = (\n <li\n title={this.showTitle ? nextItemTitle : null}\n key=\"next\"\n tabIndex=\"0\"\n onClick={this.jumpNext}\n onKeypress={this.runIfEnterJumpNext}\n class={jumpNextClassString}\n >\n {this.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon('jumpNextIcon'))}\n </li>\n );\n }\n\n lastPager = (\n <Pager\n locale={locale}\n last\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={allPages}\n page={allPages}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n firstPager = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={1}\n page={1}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n\n let left = Math.max(1, stateCurrent - pageBufferSize);\n let right = Math.min(stateCurrent + pageBufferSize, allPages);\n\n if (stateCurrent - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - stateCurrent <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (let i = left; i <= right; i++) {\n const active = stateCurrent === i;\n pagerList.push(\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={i}\n page={i}\n active={active}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />,\n );\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={left}\n page={left}\n class={`${prefixCls}-item-after-jump-prev`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.unshift(jumpPrev);\n }\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={right}\n page={right}\n class={`${prefixCls}-item-before-jump-next`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n let totalText = null;\n\n if (this.showTotal) {\n totalText = (\n <li class={`${prefixCls}-total-text`}>\n {this.showTotal(this.total, [\n (stateCurrent - 1) * statePageSize + 1,\n stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize,\n ])}\n </li>\n );\n }\n const prevDisabled = !this.hasPrev() || !allPages;\n const nextDisabled = !this.hasNext() || !allPages;\n const buildOptionText = this.buildOptionText || this.$scopedSlots.buildOptionText;\n return (\n <ul class={`${prefixCls}`} unselectable=\"unselectable\" ref=\"paginationNode\">\n {totalText}\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={prevDisabled ? null : 0}\n onKeypress={this.runIfEnterPrev}\n class={`${!prevDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={prevDisabled}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n {pagerList}\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={nextDisabled ? null : 0}\n onKeypress={this.runIfEnterNext}\n class={`${!nextDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={nextDisabled}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n <Options\n locale={locale}\n rootPrefixCls={prefixCls}\n selectComponentClass={this.selectComponentClass}\n selectPrefixCls={this.selectPrefixCls}\n changeSize={this.showSizeChanger ? this.changePageSize : null}\n current={stateCurrent}\n pageSize={statePageSize}\n pageSizeOptions={this.pageSizeOptions}\n buildOptionText={buildOptionText || null}\n quickGo={this.showQuickJumper ? this.handleChange : null}\n goButton={goButton}\n />\n </ul>\n );\n },\n};\n","// based on rc-pagination 1.17.8\nexport { default } from './Pagination';\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Goto',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n};\n","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n};\n","// based on rc-progress 2.2.7\nimport Progress, { Line, Circle } from './src/';\n\nexport { Line, Circle };\n\nexport default Progress;\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nconst circlePropTypes = {\n ...propTypes,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n gapDegree: PropTypes.number,\n};\n\nconst circleDefaultProps = {\n ...defaultProps,\n gapPosition: 'top',\n};\n\nconst Circle = {\n props: initDefaultProps(circlePropTypes, circleDefaultProps),\n methods: {\n getPathStyles() {\n const { percent, strokeWidth, strokeColor, gapDegree = 0, gapPosition } = this.$props;\n const radius = 50 - strokeWidth / 2;\n let beginPositionX = 0;\n let beginPositionY = -radius;\n let endPositionX = 0;\n let endPositionY = -2 * radius;\n switch (gapPosition) {\n case 'left':\n beginPositionX = -radius;\n beginPositionY = 0;\n endPositionX = 2 * radius;\n endPositionY = 0;\n break;\n case 'right':\n beginPositionX = radius;\n beginPositionY = 0;\n endPositionX = -2 * radius;\n endPositionY = 0;\n break;\n case 'bottom':\n beginPositionY = radius;\n endPositionY = 2 * radius;\n break;\n default:\n }\n const pathString = `M 50,50 m ${beginPositionX},${beginPositionY}\n a ${radius},${radius} 0 1 1 ${endPositionX},${-endPositionY}\n a ${radius},${radius} 0 1 1 ${-endPositionX},${endPositionY}`;\n const len = Math.PI * 2 * radius;\n const trailPathStyle = {\n strokeDasharray: `${len - gapDegree}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`,\n transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s',\n };\n const strokePathStyle = {\n stroke: strokeColor,\n strokeDasharray: `${(percent / 100) * (len - gapDegree)}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`,\n transition:\n 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s', // eslint-disable-line\n };\n return { pathString, trailPathStyle, strokePathStyle };\n },\n },\n render() {\n const {\n prefixCls,\n strokeWidth,\n trailWidth,\n trailColor,\n strokeLinecap,\n percent,\n ...restProps\n } = this.$props;\n const { pathString, trailPathStyle, strokePathStyle } = this.getPathStyles();\n delete restProps.percent;\n delete restProps.gapDegree;\n delete restProps.gapPosition;\n delete restProps.strokeColor;\n const pathFirst = {\n attrs: {\n d: pathString,\n stroke: trailColor,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-trail`,\n style: trailPathStyle,\n };\n const pathSecond = {\n attrs: {\n d: pathString,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': percent === 0 ? 0 : strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-path`,\n style: strokePathStyle,\n ref: 'svgPathRef',\n };\n return (\n <svg class={`${prefixCls}-circle`} viewBox=\"0 0 100 100\" {...restProps}>\n <path {...pathFirst} />\n <path {...pathSecond} />\n </svg>\n );\n },\n};\n\nexport default enhancer(Circle);\n","import { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nconst Line = {\n props: initDefaultProps(propTypes, defaultProps),\n render() {\n const {\n percent,\n prefixCls,\n strokeColor,\n strokeLinecap,\n strokeWidth,\n trailColor,\n trailWidth,\n ...restProps\n } = this.$props;\n\n delete restProps.gapPosition;\n\n const pathStyle = {\n strokeDasharray: '100px, 100px',\n strokeDashoffset: `${100 - percent}px`,\n transition: 'stroke-dashoffset 0.3s ease 0s, stroke 0.3s linear',\n };\n\n const center = strokeWidth / 2;\n const right = 100 - strokeWidth / 2;\n const pathString = `M ${strokeLinecap === 'round' ? center : 0},${center}\n L ${strokeLinecap === 'round' ? right : 100},${center}`;\n const viewBoxString = `0 0 100 ${strokeWidth}`;\n\n const pathFirst = {\n attrs: {\n d: pathString,\n 'stroke-linecap': strokeLinecap,\n stroke: trailColor,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-line-trail`,\n };\n const pathSecond = {\n attrs: {\n d: pathString,\n 'stroke-linecap': strokeLinecap,\n stroke: strokeColor,\n 'stroke-width': strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-line-path`,\n style: pathStyle,\n ref: 'svgPathRef',\n };\n return (\n <svg\n class={`${prefixCls}-line`}\n viewBox={viewBoxString}\n preserveAspectRatio=\"none\"\n {...restProps}\n >\n <path {...pathFirst} />\n <path {...pathSecond} />\n </svg>\n );\n },\n};\n\nexport default enhancer(Line);\n","function enhancer(Component) {\n return {\n mixins: [Component],\n updated() {\n this.$nextTick(() => {\n if (!this.$refs.svgPathRef) {\n return;\n }\n const pathStyle = this.$refs.svgPathRef.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n const now = Date.now();\n if (this.prevTimeStamp && now - this.prevTimeStamp < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n this.prevTimeStamp = Date.now();\n });\n },\n };\n}\n\nexport default enhancer;\n","import Line from './Line';\nimport Circle from './Circle';\n\nexport { Line, Circle };\n\nexport default {\n Line,\n Circle,\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport const defaultProps = {\n // className: '',\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n // style: {},\n trailColor: '#D9D9D9',\n trailWidth: 1,\n};\n\nexport const propTypes = {\n // className: PropTypes.string,\n percent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n prefixCls: PropTypes.string,\n strokeColor: PropTypes.string,\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n // style: PropTypes.object,\n trailColor: PropTypes.string,\n trailWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n","// based on rc-rate 2.4.3\nimport Rate from './src/';\nexport default Rate;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nconst rateProps = {\n disabled: PropTypes.bool,\n value: PropTypes.number,\n defaultValue: PropTypes.number,\n count: PropTypes.number,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n prefixCls: PropTypes.string,\n character: PropTypes.any,\n tabIndex: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nfunction noop() {}\n\nexport default {\n name: 'Rate',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(rateProps, {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n prefixCls: 'rc-rate',\n tabIndex: 0,\n character: '★',\n }),\n data() {\n let value = this.value;\n if (!hasProp(this, 'value')) {\n value = this.defaultValue;\n }\n return {\n sValue: value,\n focused: false,\n cleanedValue: null,\n hoverValue: undefined,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n });\n },\n methods: {\n onHover(event, index) {\n const hoverValue = this.getStarValue(index, event.pageX);\n const { cleanedValue } = this;\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue,\n cleanedValue: null,\n });\n }\n this.$emit('hoverChange', hoverValue);\n },\n onMouseLeave() {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null,\n });\n this.$emit('hoverChange', undefined);\n },\n onClick(event, index) {\n const value = this.getStarValue(index, event.pageX);\n let isReset = false;\n if (this.allowClear) {\n isReset = value === this.sValue;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : value);\n this.setState({\n cleanedValue: isReset ? value : null,\n });\n },\n onFocus() {\n this.setState({\n focused: true,\n });\n this.$emit('focus');\n },\n onBlur() {\n this.setState({\n focused: false,\n });\n this.$emit('blur');\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { count, allowHalf } = this;\n let { sValue } = this;\n if (keyCode === KeyCode.RIGHT && sValue < count) {\n if (allowHalf) {\n sValue += 0.5;\n } else {\n sValue += 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && sValue > 0) {\n if (allowHalf) {\n sValue -= 0.5;\n } else {\n sValue -= 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n }\n this.$emit('keydown', event);\n },\n getStarDOM(index) {\n return this.$refs['stars' + index].$el;\n },\n getStarValue(index, x) {\n let value = index + 1;\n if (this.allowHalf) {\n const starEle = this.getStarDOM(index);\n const leftDis = getOffsetLeft(starEle);\n const width = starEle.clientWidth;\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n return value;\n },\n focus() {\n if (!this.disabled) {\n this.$refs.rateRef.focus();\n }\n },\n blur() {\n if (!this.disabled) {\n this.$refs.rateRef.blur();\n }\n },\n changeValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.$emit('change', value);\n },\n },\n render() {\n const { count, allowHalf, prefixCls, disabled, tabIndex } = getOptionProps(this);\n const { sValue, hoverValue, focused } = this;\n const stars = [];\n const disabledClass = disabled ? `${prefixCls}-disabled` : '';\n const character = getComponentFromProp(this, 'character');\n for (let index = 0; index < count; index++) {\n const starProps = {\n props: {\n index,\n count,\n disabled,\n prefixCls: `${prefixCls}-star`,\n allowHalf,\n value: hoverValue === undefined ? sValue : hoverValue,\n character,\n focused,\n },\n on: {\n click: this.onClick,\n hover: this.onHover,\n },\n key: index,\n ref: `stars${index}`,\n };\n stars.push(<Star {...starProps} />);\n }\n return (\n <ul\n class={classNames(prefixCls, disabledClass)}\n onMouseleave={disabled ? noop : this.onMouseLeave}\n tabIndex={disabled ? -1 : tabIndex}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n onKeydown={disabled ? noop : this.onKeyDown}\n ref=\"rateRef\"\n role=\"radiogroup\"\n >\n {stars}\n </ul>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'Star',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n focused: PropTypes.bool,\n count: PropTypes.number,\n },\n methods: {\n onHover(e) {\n const { index } = this;\n this.$emit('hover', e, index);\n },\n onClick(e) {\n const { index } = this;\n this.$emit('click', e, index);\n },\n onKeyDown(e) {\n const { index } = this.$props;\n if (e.keyCode === 13) {\n this.__emit('click', e, index);\n }\n },\n getClassName() {\n const { prefixCls, index, value, allowHalf, focused } = this;\n const starValue = index + 1;\n let className = prefixCls;\n if (value === 0 && index === 0 && focused) {\n className += ` ${prefixCls}-focused`;\n } else if (allowHalf && value + 0.5 === starValue) {\n className += ` ${prefixCls}-half ${prefixCls}-active`;\n if (focused) {\n className += ` ${prefixCls}-focused`;\n }\n } else {\n className += starValue <= value ? ` ${prefixCls}-full` : ` ${prefixCls}-zero`;\n if (starValue === value && focused) {\n className += ` ${prefixCls}-focused`;\n }\n }\n return className;\n },\n },\n render() {\n const { onHover, onClick, onKeyDown, disabled, prefixCls, index, count, value } = this;\n\n const character = getComponentFromProp(this, 'character');\n return (\n <li\n class={this.getClassName()}\n onClick={disabled ? noop : onClick}\n onKeydown={disabled ? noop : onKeyDown}\n onMousemove={disabled ? noop : onHover}\n role=\"radio\"\n aria-checked={value > index ? 'true' : 'false'}\n aria-posinset={index + 1}\n aria-setsize={count}\n tabIndex={0}\n >\n <div class={`${prefixCls}-first`}>{character}</div>\n <div class={`${prefixCls}-second`}>{character}</div>\n </li>\n );\n },\n};\n","import Rate from './Rate';\nexport default Rate;\n","function getScroll(w, top) {\n let ret = top ? w.pageYOffset : w.pageXOffset;\n const method = top ? 'scrollTop' : 'scrollLeft';\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getClientPosition(elem) {\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n const box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y,\n };\n}\n\nexport function getOffsetLeft(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMenuDeSelect: PropTypes.func,\n // onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any,\n },\n watch: {\n visible(val) {\n if (!val) {\n this.lastVisible = val;\n }\n },\n },\n\n created() {\n this.rafInstance = { cancel: () => null };\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated() {\n const props = this.$props;\n if (!this.prevVisible && props.visible) {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy() {\n if (this.rafInstance && this.rafInstance.cancel) {\n this.rafInstance.cancel();\n }\n },\n methods: {\n scrollActiveItemToView() {\n // scroll into view\n const itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n const props = this.$props;\n const { value, visible, firstActiveValue } = props;\n if (!itemComponent || !visible) {\n return;\n }\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(() => {\n scrollIntoView(itemComponent, this.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n\n renderMenu() {\n const props = this.$props;\n const {\n menuItems,\n defaultActiveFirstOption,\n value,\n prefixCls,\n multiple,\n inputValue,\n firstActiveValue,\n dropdownMenuStyle,\n backfillValue,\n visible,\n } = props;\n const menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n const { menuDeselect, menuSelect, popupScroll } = this.$listeners;\n if (menuItems && menuItems.length) {\n const selectedKeys = getSelectKeys(menuItems, value);\n const menuProps = {\n props: {\n multiple,\n defaultActiveFirst: defaultActiveFirstOption,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys,\n prefixCls: `${prefixCls}-menu`,\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox',\n },\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n const activeKeyProps = {};\n\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey =\n selectedKeys[0] !== undefined ? selectedKeys[0] : firstActiveValue;\n } else if (!visible) {\n activeKeyProps.activeKey = undefined;\n }\n let foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n const clone = item => {\n if (\n (!foundFirst && selectedKeys.indexOf(item.key) !== -1) ||\n (!foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [\n {\n name: 'ant-ref',\n value: ref => {\n this.firstActiveItem = ref;\n },\n },\n ],\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n const children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\n }\n\n // clear activeKey when inputValue change\n const lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n menuProps.props = { ...activeKeyProps, ...menuProps.props };\n return <Menu {...menuProps}>{clonedMenuItems}</Menu>;\n }\n return null;\n },\n },\n render() {\n const renderMenu = this.renderMenu();\n const { popupFocus, popupScroll } = this.$listeners;\n return renderMenu ? (\n <div\n style={{\n overflow: 'auto',\n transform: 'translateZ(0)',\n }}\n id={this.$props.ariaId}\n tabIndex=\"-1\"\n onFocus={popupFocus}\n onMousedown={preventDefaultEvent}\n onScroll={popupScroll}\n ref=\"menuContainer\"\n >\n {renderMenu}\n </div>\n ) : null;\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOptGroup: true,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOption: true,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport const SelectPropTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n // children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n // onSelect: PropTypes.func,\n // onSearch: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onInputKeyDown: PropTypes.func,\n placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number]),\n};\n","import KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport {\n hasProp,\n getSlotOptions,\n getPropsData,\n getValueByProp as getValue,\n getComponentFromProp,\n getEvents,\n getClass,\n getStyle,\n getAttrs,\n getOptionProps,\n getSlots,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n generateUUID,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n toTitle,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport { SelectPropTypes } from './PropTypes';\n\nVue.use(ref, { name: 'ant-ref' });\nconst SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nconst noop = () => null;\n\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\nconst Select = {\n inheritAttrs: false,\n Option,\n OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: {\n ...SelectPropTypes,\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def({}),\n dropdownMenuStyle: PropTypes.object.def({}),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(menu => menu),\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n },\n model: {\n prop: 'value',\n event: 'change',\n },\n created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n },\n data() {\n const props = getOptionProps(this);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n warning(\n this.__propsSymbol__,\n 'Replace slots.default with props.children and pass props.__propsSymbol__',\n );\n const state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox\n ? this.getInputValueForCombobox(\n props,\n optionsInfo,\n true, // use default value\n )\n : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID(),\n };\n return {\n ...state,\n ...this.getDerivedStateFromProps(props, state),\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.autoFocus && this.focus();\n });\n },\n watch: {\n __propsSymbol__() {\n Object.assign(this.$data, this.getDerivedStateFromProps(getOptionProps(this), this.$data));\n },\n },\n updated() {\n this.$nextTick(() => {\n if (isMultipleOrTags(this.$props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode.value && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth + 10}px`;\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n this.forcePopupAlign();\n });\n },\n beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n methods: {\n getDerivedStateFromProps(nextProps, prevState) {\n const optionsInfo = prevState._skipBuildOptionsInfo\n ? prevState._optionsInfo\n : this.getOptionsInfoFromProps(nextProps, prevState);\n\n const newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false,\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren(children = [], options = []) {\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n this.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n let label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n\n getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n\n getOptionsInfoFromProps(props, preState) {\n const options = this.getOptionsFromChildren(this.$props.children);\n const optionsInfo = {};\n options.forEach(option => {\n const singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option,\n value: singleValue,\n label: this.getLabelFromOption(props, option),\n title: getValue(option, 'title'),\n };\n });\n if (preState) {\n // keep option info in pre state value.\n const oldOptionsInfo = preState._optionsInfo;\n const value = preState._value;\n if (value) {\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n\n getValueFromProps(props, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(v => {\n return v.key;\n });\n }\n return value;\n },\n\n onInputChange(event) {\n const { tokenSeparators } = this.$props;\n const val = event.target.value;\n if (\n isMultipleOrTags(this.$props) &&\n tokenSeparators.length &&\n includesSeparators(val, tokenSeparators)\n ) {\n const nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, true);\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n _open: true,\n });\n if (isCombobox(this.$props)) {\n this.fireChange([val]);\n }\n },\n\n onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n // combobox ignore\n onKeyDown(event) {\n const { _open: open } = this.$data;\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n\n onInputKeydown(event) {\n const props = this.$props;\n if (props.disabled) {\n return;\n }\n const state = this.$data;\n const keyCode = event.keyCode;\n if (isMultipleOrTags(props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n const { _value: value } = state;\n if (value.length) {\n this.removeSelected(value[value.length - 1]);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state._open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n event.preventDefault();\n } else if (keyCode === KeyCode.ESC) {\n if (state._open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (this.getRealOpenState(state) && this.selectTriggerRef) {\n const menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n\n onMenuSelect({ item }) {\n if (!item) {\n return;\n }\n let value = this.$data._value;\n const props = this.$props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n this.fireSelect(selectedValue);\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n return;\n }\n value = value.concat([selectedValue]);\n } else {\n if (\n lastValue !== undefined &&\n lastValue === selectedValue &&\n selectedValue !== this.$data._backfillValue\n ) {\n this.setOpenState(false, true);\n return;\n }\n value = [selectedValue];\n this.setOpenState(false, true);\n }\n this.fireChange(value);\n const inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n },\n\n onMenuDeselect({ item, domEvent }) {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n this.removeSelected(getValuePropValue(item));\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('', false);\n }\n },\n\n onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, !this.$data._open);\n }\n },\n\n onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n\n onClearSelection(event) {\n const props = this.$props;\n const state = this.$data;\n if (props.disabled) {\n return;\n }\n const { _inputValue: inputValue, _value: value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, true);\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n getOptionInfoBySingleValue(value, optionsInfo) {\n let info;\n optionsInfo = optionsInfo || this.$data._optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n let defaultLabel = value;\n if (this.$props.labelInValue) {\n const label = getLabelFromPropsValue(this.$props.value, value);\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n const defaultInfo = {\n option: (\n <Option value={value} key={value}>\n {value}\n </Option>\n ),\n value,\n label: defaultLabel,\n };\n return defaultInfo;\n },\n\n getOptionBySingleValue(value) {\n const { option } = this.getOptionInfoBySingleValue(value);\n return option;\n },\n\n getOptionsBySingleValue(values) {\n return values.map(value => {\n return this.getOptionBySingleValue(value);\n });\n },\n\n getValueByLabel(label) {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.$data._optionsInfo).forEach(key => {\n const info = this.$data._optionsInfo[key];\n const oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n },\n\n getVLBySingleValue(value) {\n if (this.$props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value),\n };\n }\n return value;\n },\n\n getVLForOnChange(vlsS) {\n let vls = vlsS;\n if (vls !== undefined) {\n if (!this.labelInValue) {\n vls = vls.map(v => v);\n } else {\n vls = vls.map(vl => ({\n key: vl,\n label: this.getLabelBySingleValue(vl),\n }));\n }\n return isMultipleOrTags(this.$props) ? vls : vls[0];\n }\n return vls;\n },\n\n getLabelBySingleValue(value, optionsInfo) {\n const { label } = this.getOptionInfoBySingleValue(value, optionsInfo);\n return label;\n },\n\n getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n },\n\n getPlaceholderElement() {\n const { $props: props, $data: state } = this;\n let hidden = false;\n if (state._inputValue) {\n hidden = true;\n }\n const value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (isCombobox(props) && value.length === 1 && (state._value && !state._value[0])) {\n hidden = false;\n }\n const placeholder = props.placeholder;\n if (placeholder) {\n const p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick,\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: {\n display: hidden ? 'none' : 'block',\n ...UNSELECTABLE_STYLE,\n },\n class: `${props.prefixCls}-selection__placeholder`,\n };\n return <div {...p}>{placeholder}</div>;\n }\n return null;\n },\n inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur() {\n this.clearBlurTime();\n if (this.disabled) {\n return;\n }\n this.blurTimer = setTimeout(() => {\n this._focused = false;\n this.updateFocusClassName();\n const props = this.$props;\n let { _value: value } = this.$data;\n const { _inputValue: inputValue } = this.$data;\n if (\n isSingleMode(props) &&\n props.showSearch &&\n inputValue &&\n props.defaultActiveFirstOption\n ) {\n const options = this._options || [];\n if (options.length) {\n const firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this._mouseDown) {\n // need update dropmenu when not blur\n this.setInputValue('');\n } else {\n // why not use setState?\n this.$data._inputValue = '';\n this.$nextTick(() => {\n if (this.getInputDOMNode && this.getInputDOMNode()) {\n this.getInputDOMNode().value = '';\n }\n });\n }\n const tmpValue = this.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n this.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && this._mouseDown) {\n this.maybeFocus(true, true);\n this._mouseDown = false;\n return;\n }\n this.setOpenState(false);\n this.$emit('blur', this.getVLForOnChange(value));\n }, 10);\n },\n inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === this.getInputDOMNode()) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.$props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n },\n _getInputElement() {\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const attrs = getAttrs(this);\n const defaultInput = <input id={attrs.id} autoComplete=\"off\" />;\n\n const inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n const inputCls = classnames(getClass(inputElement), {\n [`${props.prefixCls}-search__field`]: true,\n });\n const inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return (\n <div class={`${props.prefixCls}-search__field__wrap`} onClick={this.inputClick}>\n {cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue,\n },\n attrs: {\n ...(inputElement.data.attrs || {}),\n disabled: props.disabled,\n value: inputValue,\n },\n domProps: {\n value: inputValue,\n },\n class: inputCls,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputRef,\n },\n ],\n on: {\n input: this.onInputChange,\n keydown: chaining(\n this.onInputKeydown,\n inputEvents.keydown,\n this.$listeners.inputKeydown,\n ),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur),\n },\n })}\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputMirrorRef,\n },\n ],\n }}\n // ref='inputMirrorRef'\n class={`${props.prefixCls}-search__field__mirror`}\n >\n {inputValue} \n </span>\n </div>\n );\n },\n\n getInputDOMNode() {\n return this.topCtrlRef\n ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]')\n : this.inputRef;\n },\n\n getInputMirrorDOMNode() {\n return this.inputMirrorRef;\n },\n\n getPopupDOMNode() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n\n getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n\n setOpenState(open, needFocus) {\n const { $props: props, $data: state } = this;\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n const nextState = {\n _open: open,\n _backfillValue: '',\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', false);\n }\n if (!open) {\n this.maybeFocus(open, !!needFocus);\n }\n this.setState(nextState, () => {\n if (open) {\n this.maybeFocus(open, !!needFocus);\n }\n });\n },\n\n setInputValue(inputValue, fireSearch = true) {\n if (inputValue !== this.$data._inputValue) {\n this.setState(\n {\n _inputValue: inputValue,\n },\n this.forcePopupAlign,\n );\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput(str) {\n const { multiple, tokenSeparators } = this.$props;\n let nextValue = this.$data._value;\n let hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(label => {\n const selectedValue = [label];\n if (multiple) {\n const value = this.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n },\n\n getRealOpenState(state) {\n const { open: _open } = this.$props;\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n let open = (state || this.$data)._open;\n const options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.$props) || !this.$props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n },\n\n focus() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown() {\n this._mouseDown = true;\n },\n\n markMouseLeave() {\n this._mouseDown = false;\n },\n\n handleBackfill(item) {\n if (!this.backfill || !(isSingleMode(this.$props) || isCombobox(this.$props))) {\n return;\n }\n\n const key = getValuePropValue(item);\n\n if (isCombobox(this.$props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n _value: [key],\n _backfillValue: key,\n });\n },\n\n _filterOption(input, child, defaultFilter = defaultFilterFn) {\n const { _value: value, _backfillValue: backfillValue } = this.$data;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === backfillValue)) {\n return true;\n }\n let filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n\n timeoutFocus() {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(() => {\n // this._focused = true\n // this.updateFocusClassName()\n this.$emit('focus');\n }, 10);\n },\n\n clearFocusTime() {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n },\n\n clearBlurTime() {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n },\n\n updateFocusClassName() {\n const { rootRef, prefixCls } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${prefixCls}-focused`);\n }\n },\n\n maybeFocus(open, needFocus) {\n if (needFocus || open) {\n const input = this.getInputDOMNode();\n const { activeElement } = document;\n if (input && (open || isMultipleOrTagsOrCombobox(this.$props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n\n removeSelected(selectedKey, e) {\n const props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n const oldValue = this.$data._value;\n const value = oldValue.filter(singleValue => {\n return singleValue !== selectedKey;\n });\n const canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n let event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey),\n };\n }\n this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n\n openIfHasChildren() {\n const { $props } = this;\n if (($props.children && $props.children.length) || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n _value: value,\n },\n this.forcePopupAlign,\n );\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n\n isChildDisabled(key) {\n return (this.$props.children || []).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions() {\n const { _inputValue: inputValue } = this.$data;\n const { children, tags, filterOption, notFoundContent } = this.$props;\n const menuItems = [];\n const childrenKeys = [];\n let options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n let value = this.$data._value;\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n value.forEach(singleValue => {\n const key = singleValue;\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'option',\n };\n const menuItem = (\n <MenuItem style={UNSELECTABLE_STYLE} {...{ attrs }} value={key} key={key}>\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n if (inputValue) {\n const notFindInputItem = menuItems.every(option => {\n // this.filterOption return true has two meaning,\n // 1, some one exists after filtering\n // 2, filterOption is set to false\n // condition 2 does not mean the option has same value with inputValue\n const filterFn = () => getValuePropValue(option) === inputValue;\n if (filterOption !== false) {\n return !this._filterOption(inputValue, option, filterFn);\n }\n return !filterFn();\n });\n if (notFindInputItem) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options.unshift(<MenuItem {...p}>{inputValue}</MenuItem>);\n }\n }\n }\n\n if (!options.length && notFoundContent) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options = [<MenuItem {...p}>{notFoundContent}</MenuItem>];\n }\n return options;\n },\n\n renderFilterOptionsFromChildren(children = [], childrenKeys, menuItems) {\n const sel = [];\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const tags = props.tags;\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n let label = getComponentFromProp(child, 'label');\n let key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n const childChildren = getSlots(child).default;\n // Match option group label\n if (inputValue && this._filterOption(inputValue, child)) {\n const innerItems = childChildren.map(subChild => {\n const childValueSub = getValuePropValue(subChild) || subChild.key;\n return (\n <MenuItem key={childValueSub} value={childValueSub} {...subChild.data}>\n {subChild.componentOptions.children}\n </MenuItem>\n );\n });\n\n sel.push(\n <MenuItemGroup key={key} title={label} class={getClass(child)}>\n {innerItems}\n </MenuItemGroup>,\n );\n\n // Not match\n } else {\n const innerItems = this.renderFilterOptionsFromChildren(\n childChildren,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n sel.push(\n <MenuItemGroup key={key} title={label} {...child.data}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n }\n\n return;\n }\n warning(\n getSlotOptions(child).isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${getSlotOptions(child).name || getSlotOptions(child)}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.$props);\n if (this._filterOption(inputValue, child)) {\n const p = {\n attrs: {\n ...UNSELECTABLE_ATTRIBUTE,\n ...getAttrs(child),\n },\n key: childValue,\n props: {\n value: childValue,\n ...getPropsData(child),\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n class: getClass(child),\n };\n const menuItem = <MenuItem {...p}>{child.componentOptions.children}</MenuItem>;\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n\n renderTopControlNode() {\n const { $props: props } = this;\n const { _value: value, _inputValue: inputValue, _open: open } = this.$data;\n const {\n choiceTransitionName,\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n } = props;\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const className = `${prefixCls}-selection__rendered`;\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n let innerNode = null;\n if (isSingleMode(props)) {\n let selectedValue = null;\n if (value.length) {\n let showSelectedValue = false;\n let opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n const singleValue = value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n class={`${prefixCls}-selection-selected-value`}\n title={toTitle(title || label)}\n style={{\n display: showSelectedValue ? 'block' : 'none',\n opacity,\n }}\n >\n {label}\n </div>\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [\n selectedValue,\n <div\n class={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"input\"\n style={{\n display: open ? 'block' : 'none',\n }}\n >\n {this._getInputElement()}\n </div>,\n ];\n }\n } else {\n let selectedValueNodes = [];\n let limitedCountValue = value;\n let maxTagPlaceholderEl;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n const omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n let content = `+ ${value.length - maxTagCount} ...`;\n if (maxTagPlaceholder) {\n content =\n typeof maxTagPlaceholder === 'function'\n ? maxTagPlaceholder(omittedValues)\n : maxTagPlaceholder;\n }\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(content),\n };\n maxTagPlaceholderEl = (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`}\n key=\"maxTagPlaceholder\"\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(singleValue => {\n const info = this.getOptionInfoBySingleValue(singleValue);\n let content = info.label;\n const title = info.title || content;\n if (\n maxTagTextLength &&\n typeof content === 'string' &&\n content.length > maxTagTextLength\n ) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n const disabled = this.isChildDisabled(singleValue);\n const choiceClassName = disabled\n ? `${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`\n : `${prefixCls}-selection__choice`;\n // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(title),\n };\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={choiceClassName}\n key={singleValue || SELECT_EMPTY_VALUE_KEY}\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n {disabled ? null : (\n <span\n onClick={event => {\n this.removeSelected(singleValue, event);\n }}\n class={`${prefixCls}-selection__choice__remove`}\n >\n {removeIcon || <i class={`${prefixCls}-selection__choice__remove-icon`}>×</i>}\n </span>\n )}\n </li>\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this._getInputElement()}\n </li>,\n );\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n innerNode = (\n <transition-group {...transitionProps}>{selectedValueNodes}</transition-group>\n );\n } else {\n innerNode = <ul>{selectedValueNodes}</ul>;\n }\n }\n return (\n <div\n class={className}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTopCtrlRef,\n },\n ],\n }}\n onClick={this.topCtrlContainerClick}\n >\n {this.getPlaceholderElement()}\n {innerNode}\n </div>\n );\n },\n renderArrow(multiple) {\n const { showArrow, loading, prefixCls } = this.$props;\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow) {\n return null;\n }\n // if loading have loading icon\n if (multiple && !loading) {\n return null;\n }\n const defaultIcon = loading ? (\n <i class={`${prefixCls}-arrow-loading`} />\n ) : (\n <i class={`${prefixCls}-arrow-icon`} />\n );\n return (\n <span\n key=\"arrow\"\n class={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onArrowClick}\n >\n {inputIcon || defaultIcon}\n </span>\n );\n },\n topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear() {\n const { prefixCls, allowClear } = this.$props;\n const { _value: value, _inputValue: inputValue } = this.$data;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clear = (\n <span\n key=\"clear\"\n class={`${prefixCls}-selection__clear`}\n onMousedown={preventDefaultEvent}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onClearSelection}\n >\n {clearIcon || <i class={`${prefixCls}-selection__clear-icon`}>×</i>}\n </span>\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.$props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n },\n\n selectionRefClick(e) {\n e.stopPropagation();\n if (!this.disabled) {\n const input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus() {\n if (this._focused || this.disabled) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur() {\n this._focused = false;\n this.updateFocusClassName();\n this.$emit('blur');\n },\n },\n\n render() {\n const props = this.$props;\n const multiple = isMultipleOrTags(props);\n const state = this.$data;\n const { disabled, prefixCls } = props;\n const ctrlNode = this.renderTopControlNode();\n const { _open: open, _inputValue: inputValue, _value: value } = this.$data;\n if (open) {\n this._options = this.renderFilterOptions();\n }\n const realOpen = this.getRealOpenState();\n const options = this._options || [];\n const { $listeners } = this;\n const { mouseenter = noop, mouseleave = noop, popupScroll = noop } = $listeners;\n const selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId,\n },\n on: {\n click: this.selectionRefClick,\n },\n class: `${prefixCls}-selection ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectionRef,\n },\n ],\n key: 'selection',\n };\n if (!isMultipleOrTagsOrCombobox(props)) {\n selectionProps.on.keydown = this.onKeyDown;\n selectionProps.on.focus = this.selectionRefFocus;\n selectionProps.on.blur = this.selectionRefBlur;\n selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n const rootCls = {\n [prefixCls]: true,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || !!this._focused,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-no-arrow`]: !props.showArrow,\n };\n return (\n <SelectTrigger\n dropdownAlign={props.dropdownAlign}\n dropdownClassName={props.dropdownClassName}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n transitionName={props.transitionName}\n animation={props.animation}\n prefixCls={props.prefixCls}\n dropdownStyle={props.dropdownStyle}\n combobox={props.combobox}\n showSearch={props.showSearch}\n options={options}\n multiple={multiple}\n disabled={disabled}\n visible={realOpen}\n inputValue={inputValue}\n value={value}\n backfillValue={state._backfillValue}\n firstActiveValue={props.firstActiveValue}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={popupScroll}\n onPopupFocus={this.onPopupFocus}\n onMouseenter={mouseenter}\n onMouseleave={mouseleave}\n showAction={props.showAction}\n menuItemSelectedIcon={getComponentFromProp(this, 'menuItemSelectedIcon')}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectTriggerRef,\n },\n ],\n }}\n dropdownRender={props.dropdownRender}\n ariaId={this.$data._ariaId}\n >\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRootRef,\n },\n ],\n }}\n style={getStyle(this)}\n class={classnames(rootCls)}\n onMousedown={this.markMouseDown}\n onMouseup={this.markMouseLeave}\n onMouseout={this.markMouseLeave}\n // tabindex='-1'\n // onBlur={this.onOuterBlur}\n // onFocus={this.onOuterFocus}\n >\n <div {...selectionProps}>\n {ctrlNode}\n {this.renderClear()}\n {this.renderArrow(!!multiple)}\n </div>\n </div>\n </SelectTrigger>\n );\n },\n};\nexport { Select };\nexport default proxyComponent(Select);\n","import classnames from 'classnames';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string,\n },\n data() {\n return {\n dropdownWidth: 0,\n };\n },\n created() {\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n methods: {\n setDropdownWidth() {\n const width = this.$el.offsetWidth;\n if (width !== this.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n },\n\n getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n\n getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n\n getDropdownElement(newProps) {\n const {\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n getDropdownPrefixCls,\n backfillValue,\n menuItemSelectedIcon,\n } = this;\n const { menuSelect, menuDeselect, popupScroll } = this.$listeners;\n const props = this.$props;\n\n const { dropdownRender, ariaId } = props;\n const dropdownMenuProps = {\n props: {\n ...newProps.props,\n ariaId,\n prefixCls: getDropdownPrefixCls(),\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n backfillValue,\n menuItemSelectedIcon,\n },\n on: {\n ...newProps.on,\n menuSelect,\n menuDeselect,\n popupScroll,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDropdownMenuRef,\n },\n ],\n };\n const menuNode = <DropdownMenu {...dropdownMenuProps} />;\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\n },\n\n getDropdownTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n },\n\n getDropdownPrefixCls() {\n return `${this.prefixCls}-dropdown`;\n },\n },\n\n render() {\n const { $props, $slots, $listeners } = this;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n options,\n getPopupContainer,\n showAction,\n } = $props;\n const { mouseenter, mouseleave, popupFocus, dropdownVisibleChange } = $listeners;\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n };\n const popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple,\n inputValue,\n visible,\n },\n on: {\n popupFocus,\n },\n });\n let hideAction;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = `${this.dropdownWidth}px`;\n }\n const triggerProps = {\n props: {\n ...$props,\n showAction: disabled ? [] : showAction,\n hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle,\n },\n on: {\n popupVisibleChange: dropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTriggerRef,\n },\n ],\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return (\n <Trigger {...triggerProps}>\n {$slots.default}\n <template slot=\"popup\">{popupElement}</template>\n </Trigger>\n );\n },\n};\n","// based on vc-select 8.7.0\nimport ProxySelect, { Select } from './Select';\nimport Option from './Option';\nimport { SelectPropTypes } from './PropTypes';\nimport OptGroup from './OptGroup';\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nProxySelect.Option = Option;\nProxySelect.OptGroup = OptGroup;\nexport { Select, Option, OptGroup, SelectPropTypes };\nexport default ProxySelect;\n","import {\n getPropsData,\n getSlotOptions,\n getKey,\n getAttrs,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneVNodes } from '../_util/vnode';\n\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title.trim();\n }\n return '';\n}\nexport function getValuePropValue(child) {\n if (!child) {\n return null;\n }\n const props = getPropsData(child);\n if ('value' in props) {\n return props.value;\n }\n if (getKey(child) !== undefined) {\n return getKey(child);\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n const label = getComponentFromProp(child, 'label');\n if (label) {\n return label;\n }\n }\n throw new Error(`Need at least a key or a value or a label (only for OptGroup) for ${child}`);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n if (prop === 'children') {\n const newChild = child.$slots\n ? cloneVNodes(child.$slots.default, true)\n : cloneVNodes(child.componentOptions.children, true);\n if (newChild.length === 1 && !newChild[0].tag) {\n return newChild[0].text;\n }\n return newChild;\n }\n const data = getPropsData(child);\n if (prop in data) {\n return data[prop];\n } else {\n return getAttrs(child)[prop];\n }\n}\n\nexport function isMultiple(props) {\n return props.multiple;\n}\n\nexport function isCombobox(props) {\n return props.combobox;\n}\n\nexport function isMultipleOrTags(props) {\n return props.multiple || props.tags;\n}\n\nexport function isMultipleOrTagsOrCombobox(props) {\n return isMultipleOrTags(props) || isCombobox(props);\n}\n\nexport function isSingleMode(props) {\n return !isMultipleOrTagsOrCombobox(props);\n}\n\nexport function toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function getMapKey(value) {\n return `${typeof value}-${value}`;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport function findIndexInValueBySingleValue(value, singleValue) {\n let index = -1;\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n let label;\n value = toArray(value);\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i].key === key) {\n label = value[i].label;\n break;\n }\n }\n }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n let selectedKeys = [];\n menuItems.forEach(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(getSelectKeys(item.componentOptions.children, value));\n } else {\n const itemValue = getValuePropValue(item);\n const itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey !== undefined) {\n selectedKeys.push(itemKey);\n }\n }\n });\n return selectedKeys;\n}\n\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'on',\n};\n\nexport function findFirstMenuItem(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const props = getPropsData(child);\n if (getSlotOptions(child).isMenuItemGroup) {\n const found = findFirstMenuItem(child.componentOptions.children);\n if (found) {\n return found;\n }\n } else if (!props.disabled) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return str.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n const props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n let value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error(\n `Invalid \\`value\\` of type \\`${typeof value}\\` supplied to Option, ` +\n `expected \\`string\\` when \\`tags/combobox\\` is \\`true\\`.`,\n );\n }\n}\n\nexport function saveRef(instance, name) {\n return node => {\n instance[name] = node;\n };\n}\n\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n let d = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n return uuid;\n}\n","import { cloneElement } from '../../_util/vnode';\nimport { canGoNext } from './utils/innerSliderUtils';\n\nfunction noop() {}\n\nexport const PrevArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, infinite, currentSlide, slideCount, slidesToShow } = props;\n const prevClasses = { 'slick-arrow': true, 'slick-prev': true };\n let prevHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'previous' });\n };\n\n if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {\n prevClasses['slick-disabled'] = true;\n prevHandler = noop;\n }\n\n const prevArrowProps = {\n key: '0',\n domProps: {\n 'data-role': 'none',\n },\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n };\n const customProps = {\n currentSlide: currentSlide,\n slideCount: slideCount,\n };\n let prevArrow;\n\n if (props.prevArrow) {\n prevArrow = cloneElement(\n props.prevArrow({\n ...prevArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '0',\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n },\n );\n } else {\n prevArrow = (\n <button key=\"0\" type=\"button\" {...prevArrowProps}>\n {' '}\n Previous\n </button>\n );\n }\n\n return prevArrow;\n },\n};\n\nexport const NextArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, currentSlide, slideCount } = props;\n\n const nextClasses = { 'slick-arrow': true, 'slick-next': true };\n let nextHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'next' });\n };\n if (!canGoNext(props)) {\n nextClasses['slick-disabled'] = true;\n nextHandler = noop;\n }\n\n const nextArrowProps = {\n key: '1',\n domProps: {\n 'data-role': 'none',\n },\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n };\n const customProps = {\n currentSlide: currentSlide,\n slideCount: slideCount,\n };\n let nextArrow;\n\n if (props.nextArrow) {\n nextArrow = cloneElement(\n props.nextArrow({\n ...nextArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '1',\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n },\n );\n } else {\n nextArrow = (\n <button key=\"1\" type=\"button\" {...nextArrowProps}>\n {' '}\n Next\n </button>\n );\n }\n\n return nextArrow;\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nconst defaultProps = {\n accessibility: PropTypes.bool.def(true),\n // 自定义高度\n adaptiveHeight: PropTypes.bool.def(false),\n afterChange: PropTypes.any.def(null),\n arrows: PropTypes.bool.def(true),\n autoplay: PropTypes.bool.def(false),\n autoplaySpeed: PropTypes.number.def(3000),\n beforeChange: PropTypes.any.def(null),\n centerMode: PropTypes.bool.def(false),\n centerPadding: PropTypes.string.def('50px'),\n cssEase: PropTypes.string.def('ease'),\n dots: PropTypes.bool.def(false),\n dotsClass: PropTypes.string.def('slick-dots'),\n draggable: PropTypes.bool.def(true),\n unslick: PropTypes.bool.def(false),\n easing: PropTypes.string.def('linear'),\n edgeFriction: PropTypes.number.def(0.35),\n fade: PropTypes.bool.def(false),\n focusOnSelect: PropTypes.bool.def(false),\n infinite: PropTypes.bool.def(true),\n initialSlide: PropTypes.number.def(0),\n lazyLoad: PropTypes.any.def(null),\n verticalSwiping: PropTypes.bool.def(false),\n asNavFor: PropTypes.any.def(null),\n // 圆点hover是否暂停\n pauseOnDotsHover: PropTypes.bool.def(false),\n // focus是否暂停\n pauseOnFocus: PropTypes.bool.def(false),\n // hover是否暂停\n pauseOnHover: PropTypes.bool.def(true),\n responsive: PropTypes.any.def(null),\n rows: PropTypes.number.def(1),\n rtl: PropTypes.bool.def(false),\n slide: PropTypes.string.def('div'),\n slidesPerRow: PropTypes.number.def(1),\n slidesToScroll: PropTypes.number.def(1),\n slidesToShow: PropTypes.number.def(1),\n speed: PropTypes.number.def(500),\n swipe: PropTypes.bool.def(true),\n swipeEvent: PropTypes.any.def(null),\n swipeToSlide: PropTypes.bool.def(false),\n touchMove: PropTypes.bool.def(true),\n touchThreshold: PropTypes.number.def(5),\n useCSS: PropTypes.bool.def(true),\n useTransform: PropTypes.bool.def(true),\n variableWidth: PropTypes.bool.def(false),\n vertical: PropTypes.bool.def(false),\n waitForAnimate: PropTypes.bool.def(true),\n children: PropTypes.array,\n __propsSymbol__: PropTypes.any,\n};\n\nexport default defaultProps;\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\n\nconst getDotCount = function(spec) {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners } = context;\n const {\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite,\n currentSlide,\n appendDots,\n customPaging,\n clickHandler,\n dotsClass,\n } = props;\n const dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite,\n });\n\n // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const dots = Array.apply(\n null,\n Array(dotCount + 1)\n .join('0')\n .split(''),\n ).map((x, i) => {\n const leftBound = i * slidesToScroll;\n const rightBound = i * slidesToScroll + (slidesToScroll - 1);\n const className = classnames({\n 'slick-active': currentSlide >= leftBound && currentSlide <= rightBound,\n });\n\n const dotOptions = {\n message: 'dots',\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide,\n };\n function onClick(e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n if (e) {\n e.preventDefault();\n }\n clickHandler(dotOptions);\n }\n return (\n <li key={i} class={className}>\n {cloneElement(customPaging({ i }), {\n on: {\n click: onClick,\n },\n })}\n </li>\n );\n });\n\n return cloneElement(appendDots({ dots }), {\n class: dotsClass,\n on: {\n ...mouseEvents,\n },\n });\n },\n};\n","// base react-slick 0.23.2\nimport Slider from './slider';\n\nexport default Slider;\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n};\n\nexport default initialState;\n","import debounce from 'lodash/debounce';\nimport classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport { getStyle } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport defaultProps from './default-props';\nimport initialState from './initial-state';\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS,\n} from './utils/innerSliderUtils';\nimport Track from './track';\nimport Dots from './dots';\nimport { PrevArrow, NextArrow } from './arrows';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction noop() {}\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this.preProps = { ...this.$props };\n this.list = null;\n this.track = null;\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n return {\n ...initialState,\n currentSlide: this.initialSlide,\n slideCount: this.children.length,\n };\n },\n methods: {\n listRefHandler(ref) {\n this.list = ref;\n },\n trackRefHandler(ref) {\n this.track = ref;\n },\n adaptHeight() {\n if (this.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(`[data-index=\"${this.currentSlide}\"]`);\n this.list.style.height = getHeight(elem) + 'px';\n }\n },\n onWindowResized(setTrackStyle) {\n if (this.debouncedResize) this.debouncedResize.cancel();\n this.debouncedResize = debounce(() => this.resizeWindow(setTrackStyle), 50);\n this.debouncedResize();\n },\n resizeWindow(setTrackStyle = true) {\n if (!this.track) return;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n ...this.$data,\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n this.setState({\n animating: false,\n });\n clearTimeout(this.animationEndCallback);\n delete this.animationEndCallback;\n },\n updateState(spec, setTrackStyle, callback) {\n const updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n const targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n const trackStyle = getTrackCSS(spec);\n if (setTrackStyle || this.children.length !== spec.children.length) {\n updatedState['trackStyle'] = trackStyle;\n }\n this.setState(updatedState, callback);\n },\n ssrInit() {\n const children = this.children;\n if (this.variableWidth) {\n let trackWidth = 0;\n let trackLeft = 0;\n const childrenWidths = [];\n const preClones = getPreClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n const postClones = getPostClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n children.forEach(child => {\n const childWidth = getStyle(child).width.split('px')[0];\n childrenWidths.push(childWidth);\n trackWidth += childWidth;\n });\n for (let i = 0; i < preClones; i++) {\n trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (let i = 0; i < postClones; i++) {\n trackWidth += childrenWidths[i];\n }\n for (let i = 0; i < this.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n const trackStyle = {\n width: trackWidth + 'px',\n left: -trackLeft + 'px',\n };\n if (this.centerMode) {\n const currentWidth = `${childrenWidths[this.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n this.setState({\n trackStyle,\n });\n return;\n }\n const childrenCount = children.length;\n const spec = { ...this.$props, ...this.$data, slideCount: childrenCount };\n const slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n const trackWidth = (100 / this.slidesToShow) * slideCount;\n const slideWidth = 100 / slideCount;\n let trackLeft = (-slideWidth * (getPreClones(spec) + this.currentSlide) * trackWidth) / 100;\n if (this.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n const trackStyle = {\n width: trackWidth + '%',\n left: trackLeft + '%',\n };\n this.setState({\n slideWidth: slideWidth + '%',\n trackStyle: trackStyle,\n });\n },\n checkImagesLoad() {\n const images = document.querySelectorAll('.slick-slide img');\n const imagesCount = images.length;\n let loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () => ++loadedCount && loadedCount >= imagesCount && this.onWindowResized();\n if (!image.onclick) {\n image.onclick = () => image.parentNode.focus();\n } else {\n const prevClickHandler = image.onclick;\n image.onclick = () => {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (this.$props.lazyLoad) {\n image.onload = () => {\n this.adaptHeight();\n this.callbackTimers.push(setTimeout(this.onWindowResized, this.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.$emit('lazyLoadError');\n };\n }\n }\n });\n },\n progressiveLazyLoad() {\n const slidesToLoad = [];\n const spec = { ...this.$props, ...this.$data };\n for (let index = this.currentSlide; index < this.slideCount + getPostClones(spec); index++) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (let index = this.currentSlide - 1; index >= -getPreClones(spec); index--) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n this.setState(state => ({\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n },\n slideHandler(index, dontAnimate = false) {\n const { asNavFor, currentSlide, beforeChange, speed, afterChange } = this.$props;\n const { state, nextState } = slideHandler({\n index,\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n useCSS: this.useCSS && !dontAnimate,\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n const slidesToLoad = state.lazyLoadedList.filter(\n value => this.lazyLoadedList.indexOf(value) < 0,\n );\n if (this.$listeners.lazyLoad && slidesToLoad.length > 0) {\n this.$emit('lazyLoad', slidesToLoad);\n }\n this.setState(state, () => {\n asNavFor &&\n asNavFor.innerSlider.currentSlide !== currentSlide &&\n asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n this.animationEndCallback = setTimeout(() => {\n const { animating, ...firstBatch } = nextState;\n this.setState(firstBatch, () => {\n this.callbackTimers.push(setTimeout(() => this.setState({ animating }), 10));\n afterChange && afterChange(state.currentSlide);\n delete this.animationEndCallback;\n });\n }, speed);\n });\n },\n changeSlide(options, dontAnimate = false) {\n const spec = { ...this.$props, ...this.$data };\n const targetSlide = changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n this.slideHandler(targetSlide, dontAnimate);\n } else {\n this.slideHandler(targetSlide);\n }\n },\n clickHandler(e) {\n if (this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.clickable = true;\n },\n keyHandler(e) {\n const dir = keyHandler(e, this.accessibility, this.rtl);\n dir !== '' && this.changeSlide({ message: dir });\n },\n selectHandler(options) {\n this.changeSlide(options);\n },\n disableBodyScroll() {\n const preventDefault = e => {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n },\n enableBodyScroll() {\n window.ontouchmove = null;\n },\n swipeStart(e) {\n if (this.verticalSwiping) {\n this.disableBodyScroll();\n }\n const state = swipeStart(e, this.swipe, this.draggable);\n state !== '' && this.setState(state);\n },\n swipeMove(e) {\n const state = swipeMove(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n if (state['swiping']) {\n this.clickable = false;\n }\n this.setState(state);\n },\n swipeEnd(e) {\n const state = swipeEnd(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n const triggerSlideHandler = state['triggerSlideHandler'];\n delete state['triggerSlideHandler'];\n this.setState(state);\n if (triggerSlideHandler === undefined) return;\n this.slideHandler(triggerSlideHandler);\n if (this.$props.verticalSwiping) {\n this.enableBodyScroll();\n }\n },\n slickPrev() {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'previous' }), 0));\n },\n slickNext() {\n this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'next' }), 0));\n },\n slickGoTo(slide, dontAnimate = false) {\n slide = Number(slide);\n if (isNaN(slide)) return '';\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: 'index',\n index: slide,\n currentSlide: this.currentSlide,\n },\n dontAnimate,\n ),\n 0,\n ),\n );\n },\n play() {\n let nextIndex;\n if (this.rtl) {\n nextIndex = this.currentSlide - this.slidesToScroll;\n } else {\n if (canGoNext({ ...this.$props, ...this.$data })) {\n nextIndex = this.currentSlide + this.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n },\n handleAutoPlay(playType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.autoplaying;\n if (playType === 'update') {\n if (autoplaying === 'hovered' || autoplaying === 'focused' || autoplaying === 'paused') {\n return;\n }\n } else if (playType === 'leave') {\n if (autoplaying === 'paused' || autoplaying === 'focused') {\n return;\n }\n } else if (playType === 'blur') {\n if (autoplaying === 'paused' || autoplaying === 'hovered') {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.autoplaySpeed + 50);\n this.setState({ autoplaying: 'playing' });\n },\n pause(pauseType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n const autoplaying = this.autoplaying;\n if (pauseType === 'paused') {\n this.setState({ autoplaying: 'paused' });\n } else if (pauseType === 'focused') {\n if (autoplaying === 'hovered' || autoplaying === 'playing') {\n this.setState({ autoplaying: 'focused' });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === 'playing') {\n this.setState({ autoplaying: 'hovered' });\n }\n }\n },\n onDotsOver() {\n this.autoplay && this.pause('hovered');\n },\n onDotsLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onTrackOver() {\n this.autoplay && this.pause('hovered');\n },\n onTrackLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onSlideFocus() {\n this.autoplay && this.pause('focused');\n },\n onSlideBlur() {\n this.autoplay && this.autoplaying === 'focused' && this.handleAutoPlay('blur');\n },\n customPaging({ i }) {\n return <button>{i + 1}</button>;\n },\n appendDots({ dots }) {\n return <ul style={{ display: 'block' }}>{dots}</ul>;\n },\n },\n beforeMount() {\n this.ssrInit();\n this.$emit('init');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.autoplay && this.handleAutoPlay('update');\n });\n if (this.lazyLoad === 'progressive') {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(setTimeout(() => this.onWindowResized(), this.speed));\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n Array.prototype.forEach.call(document.querySelectorAll('.slick-slide'), slide => {\n slide.onfocus = this.$props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.$props.pauseOnFocus ? this.onSlideBlur : null;\n });\n // To support server-side rendering\n if (!window) {\n return;\n }\n if (window.addEventListener) {\n window.addEventListener('resize', this.onWindowResized);\n } else {\n window.attachEvent('onresize', this.onWindowResized);\n }\n });\n },\n beforeDestroy() {\n if (this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n }\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n }\n if (this.callbackTimers.length) {\n this.callbackTimers.forEach(timer => clearTimeout(timer));\n this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener('resize', this.onWindowResized);\n } else {\n window.detachEvent('onresize', this.onWindowResized);\n }\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n },\n updated() {\n this.checkImagesLoad();\n this.$emit('reInit');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad');\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n },\n watch: {\n __propsSymbol__() {\n const nextProps = this.$props;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n ...nextProps,\n ...this.$data,\n };\n let setTrackStyle = false;\n for (const key of Object.keys(this.preProps)) {\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof nextProps[key] === 'object' ||\n typeof nextProps[key] === 'function' ||\n typeof nextProps[key] === 'symbol'\n ) {\n continue;\n }\n if (nextProps[key] !== this.preProps[key]) {\n setTrackStyle = true;\n break;\n }\n }\n this.updateState(spec, setTrackStyle, () => {\n if (this.currentSlide >= nextProps.children.length) {\n this.changeSlide({\n message: 'index',\n index: nextProps.children.length - nextProps.slidesToShow,\n currentSlide: this.currentSlide,\n });\n }\n if (nextProps.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n this.preProps = { ...nextProps };\n },\n },\n render() {\n const className = classnames('slick-slider', {\n 'slick-vertical': this.vertical,\n 'slick-initialized': true,\n });\n const spec = { ...this.$props, ...this.$data };\n let trackProps = extractObject(spec, [\n 'fade',\n 'cssEase',\n 'speed',\n 'infinite',\n 'centerMode',\n 'focusOnSelect',\n 'currentSlide',\n 'lazyLoad',\n 'lazyLoadedList',\n 'rtl',\n 'slideWidth',\n 'slideHeight',\n 'listHeight',\n 'vertical',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideCount',\n 'trackStyle',\n 'variableWidth',\n 'unslick',\n 'centerPadding',\n ]);\n const { pauseOnHover } = this.$props;\n trackProps = {\n props: {\n ...trackProps,\n focusOnSelect: this.focusOnSelect ? this.selectHandler : null,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.trackRefHandler,\n },\n ],\n on: {\n mouseenter: pauseOnHover ? this.onTrackOver : noop,\n mouseleave: pauseOnHover ? this.onTrackLeave : noop,\n mouseover: pauseOnHover ? this.onTrackOver : noop,\n },\n };\n\n let dots;\n if (this.dots === true && this.slideCount >= this.slidesToShow) {\n let dotProps = extractObject(spec, [\n 'dotsClass',\n 'slideCount',\n 'slidesToShow',\n 'currentSlide',\n 'slidesToScroll',\n 'clickHandler',\n 'children',\n 'infinite',\n 'appendDots',\n ]);\n dotProps.customPaging = this.customPaging;\n dotProps.appendDots = this.appendDots;\n const { customPaging, appendDots } = this.$scopedSlots;\n if (customPaging) {\n dotProps.customPaging = customPaging;\n }\n if (appendDots) {\n dotProps.appendDots = appendDots;\n }\n const { pauseOnDotsHover } = this.$props;\n dotProps = {\n props: {\n ...dotProps,\n clickHandler: this.changeSlide,\n },\n on: {\n mouseenter: pauseOnDotsHover ? this.onDotsLeave : noop,\n mouseover: pauseOnDotsHover ? this.onDotsOver : noop,\n mouseleave: pauseOnDotsHover ? this.onDotsLeave : noop,\n },\n };\n dots = <Dots {...dotProps} />;\n }\n\n let prevArrow, nextArrow;\n const arrowProps = extractObject(spec, [\n 'infinite',\n 'centerMode',\n 'currentSlide',\n 'slideCount',\n 'slidesToShow',\n ]);\n arrowProps.clickHandler = this.changeSlide;\n const { prevArrow: prevArrowCustom, nextArrow: nextArrowCustom } = this.$scopedSlots;\n if (prevArrowCustom) {\n arrowProps.prevArrow = prevArrowCustom;\n }\n if (nextArrowCustom) {\n arrowProps.nextArrow = nextArrowCustom;\n }\n if (this.arrows) {\n prevArrow = <PrevArrow {...{ props: arrowProps }} />;\n nextArrow = <NextArrow {...{ props: arrowProps }} />;\n }\n let verticalHeightStyle = null;\n\n if (this.vertical) {\n verticalHeightStyle = {\n height: typeof this.listHeight === 'number' ? `${this.listHeight}px` : this.listHeight,\n };\n }\n\n let centerPaddingStyle = null;\n\n if (this.vertical === false) {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: '0px ' + this.centerPadding,\n };\n }\n } else {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: this.centerPadding + ' 0px',\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.touchMove;\n let listProps = {\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n class: 'slick-list',\n style: listStyle,\n on: {\n click: this.clickHandler,\n mousedown: touchMove ? this.swipeStart : noop,\n mousemove: this.dragging && touchMove ? this.swipeMove : noop,\n mouseup: touchMove ? this.swipeEnd : noop,\n mouseleave: this.dragging && touchMove ? this.swipeEnd : noop,\n touchstart: touchMove ? this.swipeStart : noop,\n touchmove: this.dragging && touchMove ? this.swipeMove : noop,\n touchend: touchMove ? this.swipeEnd : noop,\n touchcancel: this.dragging && touchMove ? this.swipeEnd : noop,\n keydown: this.accessibility ? this.keyHandler : noop,\n },\n };\n\n let innerSliderProps = {\n class: className,\n props: {\n dir: 'ltr',\n },\n };\n\n if (this.unslick) {\n listProps = {\n class: 'slick-list',\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n };\n innerSliderProps = { class: className };\n }\n return (\n <div {...innerSliderProps}>\n {!this.unslick ? prevArrow : ''}\n <div {...listProps}>\n <Track {...trackProps}>{this.children}</Track>\n </div>\n {!this.unslick ? nextArrow : ''}\n {!this.unslick ? dots : ''}\n </div>\n );\n },\n};\n","import json2mq from 'json2mq';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle } from '../../_util/props-util';\nimport InnerSlider from './inner-slider';\nimport defaultProps from './default-props';\nimport { canUseDOM } from './utils/innerSliderUtils';\nconst enquire = canUseDOM() && require('enquire.js');\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this._responsiveMediaHandlers = [];\n return {\n breakpoint: null,\n };\n },\n methods: {\n innerSliderRefHandler(ref) {\n this.innerSlider = ref;\n },\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n },\n slickPrev() {\n this.innerSlider.slickPrev();\n },\n slickNext() {\n this.innerSlider.slickNext();\n },\n slickGoTo(slide, dontAnimate = false) {\n this.innerSlider.slickGoTo(slide, dontAnimate);\n },\n slickPause() {\n this.innerSlider.pause('paused');\n },\n slickPlay() {\n this.innerSlider.handleAutoPlay('play');\n },\n },\n // handles responsive breakpoints\n beforeMount() {\n // performance monitoring\n // if (process.env.NODE_ENV !== 'production') {\n // const { whyDidYouUpdate } = require('why-did-you-update')\n // whyDidYouUpdate(React)\n // }\n if (this.responsive) {\n const breakpoints = this.responsive.map(breakpt => breakpt.breakpoint);\n // sort them in increasing order of their numerical value\n breakpoints.sort((x, y) => x - y);\n\n breakpoints.forEach((breakpoint, index) => {\n // media query for each breakpoint\n let bQuery;\n if (index === 0) {\n bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint,\n });\n }\n // when not using server side rendering\n canUseDOM() &&\n this.media(bQuery, () => {\n this.setState({ breakpoint: breakpoint });\n });\n });\n\n // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n const query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n },\n beforeDestroy() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n },\n\n render() {\n let settings;\n let newProps;\n if (this.breakpoint) {\n newProps = this.responsive.filter(resp => resp.breakpoint === this.breakpoint);\n settings =\n newProps[0].settings === 'unslick'\n ? 'unslick'\n : { ...this.$props, ...newProps[0].settings };\n } else {\n settings = { ...this.$props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 in centerMode, you are using ${\n settings.slidesToScroll\n }`,\n );\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToShow should be equal to 1 when fade is true, you're using ${\n settings.slidesToShow\n }`,\n );\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 when fade is true, you're using ${\n settings.slidesToScroll\n }`,\n );\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n let children = this.$slots.default || [];\n\n // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n children = children.filter(child => {\n if (typeof child === 'string') {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(`variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`);\n settings.variableWidth = false;\n }\n const newChildren = [];\n let currentWidth = null;\n for (let i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n const newSlide = [];\n for (let j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n const row = [];\n for (let k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && getStyle(children[k])) {\n currentWidth = getStyle(children[k]).width;\n }\n if (k >= children.length) break;\n row.push(\n cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n attrs: {\n tabIndex: -1,\n },\n style: {\n width: `${100 / settings.slidesPerRow}%`,\n display: 'inline-block',\n },\n }),\n );\n }\n newSlide.push(<div key={10 * i + j}>{row}</div>);\n }\n if (settings.variableWidth) {\n newChildren.push(\n <div key={i} style={{ width: currentWidth }}>\n {newSlide}\n </div>,\n );\n } else {\n newChildren.push(<div key={i}>{newSlide}</div>);\n }\n }\n\n if (settings === 'unslick') {\n const className = 'regular slider ' + (this.className || '');\n return <div class={className}>{newChildren}</div>;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n const sliderProps = {\n props: {\n ...settings,\n children: newChildren,\n __propsSymbol__: Symbol(),\n },\n on: {\n ...this.$listeners,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.innerSliderRefHandler,\n },\n ],\n scopedSlots: this.$scopedSlots,\n };\n return <InnerSlider {...sliderProps} />;\n },\n};\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getClass } from '../../_util/props-util';\nimport { lazyStartIndex, lazyEndIndex, getPreClones } from './utils/innerSliderUtils';\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n const slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n const slickCurrent = index === spec.currentSlide;\n return {\n 'slick-slide': true,\n 'slick-active': slickActive,\n 'slick-center': slickCenter,\n 'slick-cloned': slickCloned,\n 'slick-current': slickCurrent, // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = function(spec) {\n const style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth + (typeof spec.slideWidth === 'number' ? 'px' : '');\n }\n\n if (spec.fade) {\n style.position = 'relative';\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight) + 'px';\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth) + 'px';\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n style.WebkitTransition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || (child.key === 0 && '0') || fallbackKey;\n\nconst renderSlides = function(spec, children, createElement) {\n let key;\n const slides = [];\n const preCloneSlides = [];\n const postCloneSlides = [];\n const childrenCount = children.length;\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n\n children.forEach((elem, index) => {\n let child;\n const childOnClickOptions = {\n message: 'children',\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide,\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (!spec.lazyLoad || (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0)) {\n child = elem;\n } else {\n child = createElement('div');\n }\n const childStyle = getSlideStyle({ ...spec, index });\n const slideClass = getClass(child.context) || '';\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n cloneElement(\n child,\n {\n key: 'original' + getKey(child, index),\n attrs: {\n tabIndex: '-1',\n 'data-index': index,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { outline: 'none', ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n },\n true,\n ),\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n const preCloneNo = childrenCount - index;\n if (preCloneNo <= getPreClones(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n cloneElement(child, {\n key: 'precloned' + getKey(child, key),\n class: classnames(slideClasses, slideClass),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n }),\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n cloneElement(child, {\n key: 'postcloned' + getKey(child, key),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n }),\n );\n }\n }\n });\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners, children, data } = context;\n const slides = renderSlides(props, children, createElement);\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const trackProps = {\n class: 'slick-track',\n style: props.trackStyle,\n on: {\n ...mouseEvents,\n },\n directives: data.directives,\n };\n return <div {...trackProps}>{slides}</div>;\n },\n};\n","export const getOnDemandLazySlides = spec => {\n const onDemandSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n const requiredSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => spec.currentSlide - lazySlidesOnLeft(spec);\nexport const lazyEndIndex = spec => spec.currentSlide + lazySlidesOnRight(spec);\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n let swipeAngle;\n const xDist = touchObject.startX - touchObject.curX;\n const yDist = touchObject.startY - touchObject.curY;\n const r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if ((swipeAngle <= 45 && swipeAngle >= 0) || (swipeAngle <= 360 && swipeAngle >= 315)) {\n return 'left';\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return 'right';\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 'up';\n } else {\n return 'down';\n }\n }\n\n return 'vertical';\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n const newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n const slideCount = spec.children.length;\n const listWidth = Math.ceil(getWidth(spec.listRef));\n const trackWidth = Math.ceil(getWidth(spec.trackRef));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === 'string' && spec.centerPadding.slice(-1) === '%') {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n const slideHeight = spec.listRef && getHeight(spec.listRef.querySelector('[data-index=\"0\"]'));\n const listHeight = slideHeight * spec.slidesToShow;\n let currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n const lazyLoadedList = spec.lazyLoadedList || [];\n const slidesToLoad = getOnDemandLazySlides({ currentSlide, lazyLoadedList }, spec);\n lazyLoadedList.concat(slidesToLoad);\n\n const state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList,\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state['autoplaying'] = 'playing';\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoadedList,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS,\n } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index;\n let finalSlide;\n let animationLeft;\n let finalLeft;\n let state = {};\n let nextState = {};\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n };\n nextState = { animating: false };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0) {\n finalSlide = slideCount - (slideCount % slidesToScroll);\n }\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad &&\n lazyLoadedList.concat(getOnDemandLazySlides({ ...spec, currentSlide: animationSlide }));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n let previousInt, slideOffset, targetSlide;\n const { slidesToScroll, slidesToShow, slideCount, currentSlide, lazyLoad, infinite } = spec;\n const unevenOffset = slideCount % slidesToScroll !== 0;\n const indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === 'previous') {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === 'next') {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n } else if (options.message === 'dots') {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === 'children') {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n if (infinite) {\n const direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === 'left') {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === 'right') {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === 'index') {\n targetSlide = Number(options.index);\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match('TEXTAREA|INPUT|SELECT') || !accessibility) {\n return '';\n }\n if (e.keyCode === 37) return rtl ? 'next' : 'previous';\n if (e.keyCode === 39) return rtl ? 'previous' : 'next';\n return '';\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === 'IMG' && e.preventDefault();\n if (!swipe || (!draggable && e.type.indexOf('mouse') !== -1)) return '';\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY,\n },\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth,\n } = spec;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n let swipeLeft;\n let state = {};\n const curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)),\n );\n const verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)),\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) {\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n }\n\n const dotCount = Math.ceil(slideCount / slidesToScroll);\n const swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 && swipeDirection === 'right') ||\n (currentSlide + 1 >= dotCount && swipeDirection === 'left') ||\n (!canGoNext(spec) && swipeDirection === 'left')\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state['edgeDragged'] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state['swiped'] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft }),\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state['swiping'] = true;\n e.preventDefault();\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n currentSlide,\n swipeToSlide,\n scrolling,\n onSwipe,\n } = spec;\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n const minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n const swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n const state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {},\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n switch (swipeDirection) {\n case 'left':\n case 'up':\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 0;\n break;\n case 'right':\n case 'down':\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 1;\n break;\n default:\n slideCount = currentSlide;\n }\n state['triggerSlideHandler'] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n const currentLeft = getTrackLeft(spec);\n state['trackStyle'] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n const max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n const indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (const n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides = slickList.querySelectorAll('.slick-slide');\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n const slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error('Keys Missing:', spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, ['left', 'variableWidth', 'slideCount', 'slidesToShow', 'slideWidth']);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: '',\n WebkitTransition: '',\n };\n if (spec.useTransform) {\n const WebkitTransform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const transform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const msTransform = !spec.vertical\n ? 'translateX(' + spec.left + 'px)'\n : 'translateY(' + spec.left + 'px)';\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform,\n };\n } else {\n if (spec.vertical) {\n style['top'] = spec.left;\n } else {\n style['left'] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth + 'px';\n if (trackHeight) style.height = trackHeight + 'px';\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + 'px';\n } else {\n style.marginTop = spec.left + 'px';\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n 'left',\n 'variableWidth',\n 'slideCount',\n 'slidesToShow',\n 'slideWidth',\n 'speed',\n 'cssEase',\n ]);\n const style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition = '-webkit-transform ' + spec.speed + 'ms ' + spec.cssEase;\n style.transition = 'transform ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = 'top ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n style.transition = 'left ' + spec.speed + 'ms ' + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n 'slideIndex',\n 'trackRef',\n 'infinite',\n 'centerMode',\n 'slideCount',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideWidth',\n 'listWidth',\n 'variableWidth',\n 'slideHeight',\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical,\n } = spec;\n\n let slideOffset = 0;\n let targetLeft;\n let targetSlide;\n let verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n let targetSlideIndex;\n const trackElem = trackRef;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return 'left';\n }\n return 'right';\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return 'right';\n }\n return 'left';\n }\n};\n\nexport const slidesOnRight = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps } from '../../_util/props-util';\nimport addEventListener from '../../_util/Dom/addEventListener';\n\nexport default {\n name: 'Handle',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n // handleFocus: PropTypes.func.def(noop),\n // handleBlur: PropTypes.func.def(noop),\n },\n data() {\n return {\n clickFocused: false,\n };\n },\n mounted() {\n // mouseup won't trigger if mouse moved out of handle\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n },\n beforeDestroy() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n },\n methods: {\n setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n },\n handleMouseUp() {\n if (document.activeElement === this.$refs.handle) {\n this.setClickFocus(true);\n }\n },\n handleBlur(e) {\n this.setClickFocus(false);\n this.__emit('blur', e);\n },\n handleKeyDown() {\n this.setClickFocus(false);\n },\n clickFocus() {\n this.setClickFocus(true);\n this.focus();\n },\n focus() {\n this.$refs.handle.focus();\n },\n blur() {\n this.$refs.handle.blur();\n },\n // when click can not focus in vue, use mousedown trigger focus\n handleMousedown(e) {\n this.focus();\n this.__emit('mousedown', e);\n },\n },\n render() {\n const { prefixCls, vertical, offset, disabled, min, max, value, tabIndex } = getOptionProps(\n this,\n );\n const className = classNames(this.$props.className, {\n [`${prefixCls}-handle-click-focused`]: this.clickFocused,\n });\n\n const postionStyle = vertical ? { bottom: `${offset}%` } : { left: `${offset}%` };\n\n const ariaProps = {\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled,\n };\n\n const handleProps = {\n attrs: {\n role: 'slider',\n tabIndex: disabled ? null : tabIndex || 0,\n ...ariaProps,\n },\n class: className,\n on: {\n ...this.$listeners,\n blur: this.handleBlur,\n keydown: this.handleKeyDown,\n mousedown: this.handleMousedown,\n },\n ref: 'handle',\n style: postionStyle,\n };\n return <div {...handleProps} />;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst rangeProps = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n};\nconst Range = {\n name: 'Range',\n displayName: 'Range',\n mixins: [BaseMixin],\n props: initDefaultProps(rangeProps, {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: [],\n }),\n data() {\n const { count, min, max } = this;\n const initialValue = Array(...Array(count + 1)).map(() => min);\n const defaultValue = hasProp(this, 'defaultValue') ? this.defaultValue : initialValue;\n let { value } = this;\n if (value === undefined) {\n value = defaultValue;\n }\n const bounds = value.map((v, i) => this.trimAlignValue(v, i));\n const recent = bounds[0] === max ? 0 : bounds.length - 1;\n return {\n sHandle: null,\n recent,\n bounds,\n };\n },\n watch: {\n value: {\n handler(val) {\n const { min, max } = this;\n this.setChangeValue(val, min, max);\n },\n deep: true,\n },\n min(val) {\n const { bounds, max } = this;\n this.setChangeValue(bounds, val, max);\n },\n max(val) {\n const { bounds, min } = this;\n this.setChangeValue(bounds, min, val);\n },\n },\n methods: {\n setChangeValue(value, min, max) {\n const { bounds } = this;\n const newValue = value || bounds;\n const minAmaxProps = {\n min,\n max,\n };\n const nextBounds = newValue.map((v, i) => this.trimAlignValue(v, i, minAmaxProps));\n if (nextBounds.length === bounds.length && nextBounds.every((v, i) => v === bounds[i]))\n return;\n\n this.setState({ bounds: nextBounds });\n\n if (value.some(v => utils.isValueOutOfRange(v, minAmaxProps))) {\n const newValues = value.map(v => {\n return utils.ensureValueInRange(v, minAmaxProps);\n });\n this.$emit('change', newValues);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n } else if (state.sHandle !== undefined) {\n this.setState({ sHandle: state.sHandle });\n }\n\n const data = { ...this.$data, ...state };\n const changedValue = data.bounds;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n const { bounds } = this;\n this.$emit('beforeChange', bounds);\n\n const value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n const closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n sHandle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex,\n });\n\n const prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n const nextBounds = [...bounds];\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n },\n onEnd() {\n this.setState({ sHandle: null });\n this.removeDocumentEvents();\n this.$emit('afterChange', this.bounds);\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const value = this.calcValueByPos(position);\n const oldValue = bounds[sHandle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n },\n onKeyboard(e) {\n const valueMutator = utils.getKeyboardValueMutator(e);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const oldValue = bounds[sHandle];\n const mutatedValue = valueMutator(oldValue, this.$props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === oldValue) return;\n const isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n },\n getClosestBound(value) {\n const { bounds } = this;\n let closestBound = 0;\n for (let i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n },\n getBoundNeedMoving(value, closestBound) {\n const { bounds, recent } = this;\n let boundNeedMoving = closestBound;\n const isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n },\n getLowerBound() {\n return this.bounds[0];\n },\n getUpperBound() {\n const { bounds } = this;\n return bounds[bounds.length - 1];\n },\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n getPoints() {\n const { marks, step, min, max } = this;\n const cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n const pointsObject = { ...marks };\n if (step !== null) {\n for (let point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n const points = Object.keys(pointsObject).map(parseFloat);\n points.sort((a, b) => a - b);\n this._getPointsCache = { marks, step, points };\n }\n return this._getPointsCache.points;\n },\n\n moveTo(value, isFromKeyboardEvent) {\n const nextBounds = [...this.bounds];\n const { sHandle } = this;\n nextBounds[sHandle] = value;\n let nextHandle = sHandle;\n if (this.$props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (this.$props.allowCross) {\n nextBounds.sort((a, b) => a - b);\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n sHandle: nextHandle,\n bounds: nextBounds,\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.setState({}, () => {\n this.handlesRefs[nextHandle].focus();\n });\n }\n },\n\n pushSurroundingHandles(bounds, handle) {\n const value = bounds[handle];\n let { pushable: threshold } = this;\n threshold = Number(threshold);\n\n let direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n const nextHandle = handle + direction;\n const diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n },\n pushHandle(bounds, handle, direction, amount) {\n const originalValue = bounds[handle];\n let currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n },\n pushHandleOnePoint(bounds, handle, direction) {\n const points = this.getPoints();\n const pointIndex = points.indexOf(bounds[handle]);\n const nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n const nextHandle = handle + direction;\n const nextValue = points[nextPointIndex];\n const { pushable: threshold } = this;\n const diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n },\n trimAlignValue(v, handle, nextProps = {}) {\n const mergedProps = { ...this.$props, ...nextProps };\n const valInRange = utils.ensureValueInRange(v, mergedProps);\n const valNotConflict = this.ensureValueNotConflict(handle, valInRange, mergedProps);\n return utils.ensureValuePrecision(valNotConflict, mergedProps);\n },\n ensureValueNotConflict(handle, val, { allowCross, pushable: thershold }) {\n const state = this.$data || {};\n const { bounds } = state;\n handle = handle === undefined ? state.sHandle : handle;\n thershold = Number(thershold);\n /* eslint-disable eqeqeq */\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && val <= bounds[handle - 1] + thershold) {\n return bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && val >= bounds[handle + 1] - thershold) {\n return bounds[handle + 1] - thershold;\n }\n }\n /* eslint-enable eqeqeq */\n return val;\n },\n getTrack({ bounds, prefixCls, vertical, included, offsets, trackStyle }) {\n return bounds.slice(0, -1).map((_, index) => {\n const i = index + 1;\n const trackClassName = classNames({\n [`${prefixCls}-track`]: true,\n [`${prefixCls}-track-${i}`]: true,\n });\n return (\n <Track\n class={trackClassName}\n vertical={vertical}\n included={included}\n offset={offsets[i - 1]}\n length={offsets[i] - offsets[i - 1]}\n style={trackStyle[index]}\n key={i}\n />\n );\n });\n },\n renderSlider() {\n const {\n sHandle,\n bounds,\n prefixCls,\n vertical,\n included,\n disabled,\n min,\n max,\n handle,\n defaultHandle,\n trackStyle,\n handleStyle,\n tabIndex,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const offsets = bounds.map(v => this.calcOffset(v));\n\n const handleClassName = `${prefixCls}-handle`;\n const handles = bounds.map((v, i) =>\n handleGenerator({\n className: classNames({\n [handleClassName]: true,\n [`${handleClassName}-${i + 1}`]: true,\n }),\n prefixCls,\n vertical,\n offset: offsets[i],\n value: v,\n dragging: sHandle === i,\n index: i,\n tabIndex: tabIndex[i] || 0,\n min,\n max,\n disabled,\n style: handleStyle[i],\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(i, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n }),\n );\n\n return {\n tracks: this.getTrack({ bounds, prefixCls, vertical, included, offsets, trackStyle }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Range);\n","import PropTypes from '../../_util/vue-types';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst Slider = {\n name: 'Slider',\n mixins: [BaseMixin],\n props: {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n },\n data() {\n const defaultValue = this.defaultValue !== undefined ? this.defaultValue : this.min;\n const value = this.value !== undefined ? this.value : defaultValue;\n\n if (utils.isDev()) {\n warning(\n !hasProp(this, 'minimumTrackStyle'),\n 'minimumTrackStyle will be deprecate, please use trackStyle instead.',\n );\n warning(\n !hasProp(this, 'maximumTrackStyle'),\n 'maximumTrackStyle will be deprecate, please use railStyle instead.',\n );\n }\n return {\n sValue: this.trimAlignValue(value),\n dragging: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n watch: {\n value: {\n handler(val) {\n const { min, max } = this;\n this.setChangeValue(val, min, max);\n },\n deep: true,\n },\n min(val) {\n const { sValue, max } = this;\n this.setChangeValue(sValue, val, max);\n },\n max(val) {\n const { sValue, min } = this;\n this.setChangeValue(sValue, min, val);\n },\n },\n methods: {\n setChangeValue(value, min, max) {\n const minAmaxProps = {\n min,\n max,\n };\n const newValue = value !== undefined ? value : this.sValue;\n const nextValue = this.trimAlignValue(newValue, minAmaxProps);\n if (nextValue === this.sValue) return;\n\n this.setState({ sValue: nextValue });\n if (utils.isValueOutOfRange(newValue, minAmaxProps)) {\n this.$emit('change', nextValue);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n }\n\n const changedValue = state.sValue;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n this.setState({ dragging: true });\n const { sValue } = this;\n this.$emit('beforeChange', sValue);\n\n const value = this.calcValueByPos(position);\n\n this.startValue = value;\n this.startPosition = position;\n if (value === sValue) return;\n\n this.prevMovedHandleIndex = 0;\n this.onChange({ sValue: value });\n },\n onEnd() {\n this.setState({ dragging: false });\n this.removeDocumentEvents();\n this.$emit('afterChange', this.sValue);\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const value = this.calcValueByPos(position);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n },\n onKeyboard(e) {\n const valueMutator = utils.getKeyboardValueMutator(e);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const mutatedValue = valueMutator(sValue, this.$props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n }\n },\n getLowerBound() {\n return this.min;\n },\n getUpperBound() {\n return this.sValue;\n },\n trimAlignValue(v, nextProps = {}) {\n if (v === null) {\n return null;\n }\n const mergedProps = { ...this.$props, ...nextProps };\n const val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n },\n getTrack({ prefixCls, vertical, included, offset, minimumTrackStyle, _trackStyle }) {\n return (\n <Track\n class={`${prefixCls}-track`}\n vertical={vertical}\n included={included}\n offset={0}\n length={offset}\n style={{\n ...minimumTrackStyle,\n ..._trackStyle,\n }}\n />\n );\n },\n renderSlider() {\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n minimumTrackStyle,\n trackStyle,\n handleStyle,\n tabIndex,\n min,\n max,\n handle,\n defaultHandle,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const { sValue, dragging } = this;\n const offset = this.calcOffset(sValue);\n const handles = handleGenerator({\n className: `${prefixCls}-handle`,\n prefixCls,\n vertical,\n offset,\n value: sValue,\n dragging,\n disabled,\n min,\n max,\n index: 0,\n tabIndex,\n style: handleStyle[0] || handleStyle,\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(0, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n\n const _trackStyle = trackStyle[0] || trackStyle;\n return {\n tracks: this.getTrack({\n prefixCls,\n vertical,\n included,\n offset,\n minimumTrackStyle,\n _trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Slider);\n","import classNames from 'classnames';\nimport { isValidElement } from '../../../_util/props-util';\n\nconst Marks = {\n functional: true,\n render(h, context) {\n const {\n className,\n vertical,\n marks,\n included,\n upperBound,\n lowerBound,\n max,\n min,\n } = context.props;\n const { clickLabel } = context.listeners;\n const marksKeys = Object.keys(marks);\n const marksCount = marksKeys.length;\n const unit = marksCount > 1 ? 100 / (marksCount - 1) : 100;\n const markWidth = unit * 0.9;\n\n const range = max - min;\n const elements = marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .map(point => {\n const markPoint = typeof marks[point] === 'function' ? marks[point](h) : marks[point];\n const markPointIsObject = typeof markPoint === 'object' && !isValidElement(markPoint);\n const markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n const isActive =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n const markClassName = classNames({\n [`${className}-text`]: true,\n [`${className}-text-active`]: isActive,\n });\n\n const bottomStyle = {\n marginBottom: '-50%',\n bottom: `${((point - min) / range) * 100}%`,\n };\n\n const leftStyle = {\n width: `${markWidth}%`,\n marginLeft: `${-markWidth / 2}%`,\n left: `${((point - min) / range) * 100}%`,\n };\n\n const style = vertical ? bottomStyle : leftStyle;\n const markStyle = markPointIsObject ? { ...style, ...markPoint.style } : style;\n return (\n <span\n class={markClassName}\n style={markStyle}\n key={point}\n onMousedown={e => clickLabel(e, point)}\n onTouchstart={e => clickLabel(e, point)}\n >\n {markLabel}\n </span>\n );\n });\n\n return <div class={className}>{elements}</div>;\n },\n};\n\nexport default Marks;\n","import classNames from 'classnames';\nimport warning from '../../../_util/warning';\n\nconst calcPoints = (vertical, marks, dots, step, min, max) => {\n warning(\n dots ? step > 0 : true,\n '`Slider[step]` should be a positive number in order to make Slider[dots] work.',\n );\n const points = Object.keys(marks)\n .map(parseFloat)\n .sort((a, b) => a - b);\n if (dots) {\n for (let i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nconst Steps = {\n functional: true,\n render(h, context) {\n const {\n prefixCls,\n vertical,\n marks,\n dots,\n step,\n included,\n lowerBound,\n upperBound,\n max,\n min,\n dotStyle,\n activeDotStyle,\n } = context.props;\n const range = max - min;\n const elements = calcPoints(vertical, marks, dots, step, min, max).map(point => {\n const offset = `${(Math.abs(point - min) / range) * 100}%`;\n\n const isActived =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n let style = vertical ? { bottom: offset, ...dotStyle } : { left: offset, ...dotStyle };\n if (isActived) {\n style = { ...style, ...activeDotStyle };\n }\n\n const pointClassName = classNames({\n [`${prefixCls}-dot`]: true,\n [`${prefixCls}-dot-active`]: isActived,\n });\n\n return <span class={pointClassName} style={style} key={point} />;\n });\n\n return <div class={`${prefixCls}-step`}>{elements}</div>;\n },\n};\n\nexport default Steps;\n","/* eslint-disable */\nconst Track = {\n functional: true,\n render(createElement, context) {\n const { included, vertical, offset, length } = context.props;\n const { style, class: className } = context.data;\n\n const positonStyle = vertical\n ? {\n bottom: `${offset}%`,\n height: `${length}%`,\n }\n : {\n left: `${offset}%`,\n width: `${length}%`,\n };\n\n const elStyle = {\n ...style,\n ...positonStyle,\n };\n return included ? <div class={className} style={elStyle} /> : null;\n },\n};\n\nexport default Track;\n","import classNames from 'classnames';\nimport PropTypes from '../../../_util/vue-types';\nimport addEventListener from '../../../_util/Dom/addEventListener';\nimport warning from '../../../_util/warning';\nimport { initDefaultProps } from '../../../_util/props-util';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n // const displayName = `ComponentEnhancer(${Component.displayName})`\n const propTypes = {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool,\n };\n return {\n name: 'createSlider',\n mixins: [Component],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(propTypes, {\n prefixCls: 'rc-slider',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n // handle ({ index, ref, className, style, ...restProps }) {\n // delete restProps.dragging\n // const handleProps = {\n // props: {\n // ...restProps,\n // },\n // class: className,\n // style,\n // key: index,\n // ref,\n // }\n // return <Handle {...handleProps} />\n // },\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {},\n }),\n data() {\n if (utils.isDev()) {\n const { step, max, min } = this;\n const isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(\n step && Math.floor(step) === step ? isPointDiffEven : true,\n 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)',\n max - min,\n step,\n );\n }\n this.handlesRefs = {};\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.$refs.sliderRef && this.$refs.sliderRef.ownerDocument;\n // this.setHandleRefs()\n });\n },\n beforeDestroy() {\n this.$nextTick(() => {\n // if (super.componentWillUnmount) super.componentWillUnmount()\n this.removeDocumentEvents();\n });\n },\n methods: {\n defaultHandle({ index, directives, className, style, on, ...restProps }) {\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n const handleProps = {\n props: {\n ...restProps,\n },\n class: className,\n style,\n key: index,\n directives,\n on,\n };\n return <Handle {...handleProps} />;\n },\n onMouseDown(e) {\n if (e.button !== 0) {\n return;\n }\n const isVertical = this.vertical;\n let position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.removeDocumentEvents();\n this.onStart(position);\n this.addDocumentMouseEvents();\n utils.pauseEvent(e);\n },\n onTouchStart(e) {\n if (utils.isNotTouchEvent(e)) return;\n\n const isVertical = this.vertical;\n let position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.onStart(position);\n this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n },\n onFocus(e) {\n const { vertical } = this;\n if (utils.isEventFromHandle(e, this.handlesRefs)) {\n const handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n this.dragOffset = 0;\n this.onStart(handlePosition);\n utils.pauseEvent(e);\n this.$emit('focus', e);\n }\n },\n onBlur(e) {\n this.onEnd(e);\n this.$emit('blur', e);\n },\n onMouseUp() {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n },\n onMouseMove(e) {\n if (!this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n const position = utils.getMousePosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onTouchMove(e) {\n if (utils.isNotTouchEvent(e) || !this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n\n const position = utils.getTouchPosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onKeyDown(e) {\n if (this.$refs.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n },\n onClickMarkLabel(e, value) {\n e.stopPropagation();\n this.onChange({ sValue: value });\n this.onEnd();\n },\n getSliderStart() {\n const slider = this.$refs.sliderRef;\n const rect = slider.getBoundingClientRect();\n\n return this.vertical ? rect.top : rect.left + window.pageXOffset;\n },\n getSliderLength() {\n const slider = this.$refs.sliderRef;\n if (!slider) {\n return 0;\n }\n\n const coords = slider.getBoundingClientRect();\n return this.vertical ? coords.height : coords.width;\n },\n addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n },\n addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n },\n removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n },\n focus() {\n if (!this.disabled) {\n this.handlesRefs[0].focus();\n }\n },\n blur() {\n if (!this.disabled) {\n Object.keys(this.handlesRefs).forEach(key => {\n if (this.handlesRefs[key] && this.handlesRefs[key].blur) {\n this.handlesRefs[key].blur();\n }\n });\n }\n },\n calcValue(offset) {\n const { vertical, min, max } = this;\n const ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n const value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n },\n calcValueByPos(position) {\n const pixelOffset = position - this.getSliderStart();\n const nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n },\n calcOffset(value) {\n const { min, max } = this;\n const ratio = (value - min) / (max - min);\n return ratio * 100;\n },\n saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n },\n },\n render(h) {\n const {\n prefixCls,\n marks,\n dots,\n step,\n included,\n disabled,\n vertical,\n min,\n max,\n maximumTrackStyle,\n railStyle,\n dotStyle,\n activeDotStyle,\n } = this;\n const { tracks, handles } = this.renderSlider(h);\n\n const sliderClassName = classNames(prefixCls, {\n [`${prefixCls}-with-marks`]: Object.keys(marks).length,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-vertical`]: vertical,\n });\n const markProps = {\n props: {\n vertical,\n marks,\n included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max,\n min,\n className: `${prefixCls}-mark`,\n },\n on: {\n clickLabel: disabled ? noop : this.onClickMarkLabel,\n },\n };\n return (\n <div\n ref=\"sliderRef\"\n tabIndex=\"-1\"\n class={sliderClassName}\n onTouchstart={disabled ? noop : this.onTouchStart}\n onMousedown={disabled ? noop : this.onMouseDown}\n onMouseup={disabled ? noop : this.onMouseUp}\n onKeydown={disabled ? noop : this.onKeyDown}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n >\n <div\n class={`${prefixCls}-rail`}\n style={{\n ...maximumTrackStyle,\n ...railStyle,\n }}\n />\n {tracks}\n <Steps\n prefixCls={prefixCls}\n vertical={vertical}\n marks={marks}\n dots={dots}\n step={step}\n included={included}\n lowerBound={this.getLowerBound()}\n upperBound={this.getUpperBound()}\n max={max}\n min={min}\n dotStyle={dotStyle}\n activeDotStyle={activeDotStyle}\n />\n {handles}\n <Marks {...markProps} />\n {this.$slots.default}\n </div>\n );\n },\n };\n}\n","import keyCode from '../../_util/KeyCode';\n\nexport function isDev() {\n return process.env.NODE_ENV !== 'production';\n}\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(\n key => e.target === handles[key].$el || e.target === handles[key],\n );\n } catch (error) {\n return false;\n }\n}\n\nexport function isValueOutOfRange(value, { min, max }) {\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || (e.type.toLowerCase() === 'touchend' && e.touches.length > 0);\n}\n\nexport function getClosestPoint(val, { marks, step, min }) {\n const points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n const closestStep = Math.round((val - min) / step) * step + min;\n points.push(closestStep);\n }\n const diffs = points.map(point => Math.abs(val - point));\n return points[diffs.indexOf(Math.min(...diffs))];\n}\n\nexport function getPrecision(step) {\n const stepString = step.toString();\n let precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.clientY : e.pageX) / zoom;\n}\n\nexport function getTouchPosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.touches[0].clientY : e.touches[0].pageX) / zoom;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n const coords = handle.getBoundingClientRect();\n return vertical\n ? coords.top + coords.height * 0.5\n : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nexport function ensureValueInRange(val, { max, min }) {\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n const { step } = props;\n const closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n const operations = {\n increase: (a, b) => a + b,\n decrease: (a, b) => a - b,\n };\n\n const indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n const keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e) {\n switch (e.keyCode) {\n case keyCode.UP:\n case keyCode.RIGHT:\n return (value, props) => calculateNextValue('increase', value, props);\n\n case keyCode.DOWN:\n case keyCode.LEFT:\n return (value, props) => calculateNextValue('decrease', value, props);\n\n case keyCode.END:\n return (value, props) => props.max;\n case keyCode.HOME:\n return (value, props) => props.min;\n case keyCode.PAGE_UP:\n return (value, props) => value + props.step * 2;\n case keyCode.PAGE_DOWN:\n return (value, props) => value - props.step * 2;\n\n default:\n return undefined;\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp } from '../_util/props-util';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\n\nexport default {\n name: 'Step',\n props: {\n prefixCls: PropTypes.string,\n wrapperStyle: PropTypes.object,\n itemWidth: PropTypes.string,\n status: PropTypes.string,\n iconPrefix: PropTypes.string,\n icon: PropTypes.any,\n adjustMarginRight: PropTypes.string,\n stepNumber: PropTypes.string,\n description: PropTypes.any,\n title: PropTypes.any,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n tailContent: PropTypes.any,\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n methods: {\n renderIconNode() {\n const { prefixCls, stepNumber, status, iconPrefix, icons } = getOptionProps(this);\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = this.$scopedSlots.progressDot;\n }\n const icon = getComponentFromProp(this, 'icon');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n let iconNode;\n const iconClassName = {\n [`${prefixCls}-icon`]: true,\n [`${iconPrefix}icon`]: true,\n [`${iconPrefix}icon-${icon}`]: icon && isString(icon),\n [`${iconPrefix}icon-check`]: !icon && status === 'finish' && (icons && !icons.finish),\n [`${iconPrefix}icon-close`]: !icon && status === 'error' && (icons && !icons.error),\n };\n const iconDot = <span class={`${prefixCls}-icon-dot`} />;\n // `progressDot` enjoy the highest priority\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = (\n <span class={`${prefixCls}-icon`}>\n {progressDot({ index: stepNumber - 1, status, title, description, prefixCls })}\n </span>\n );\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{iconDot}</span>;\n }\n } else if (icon && !isString(icon)) {\n iconNode = <span class={`${prefixCls}-icon`}>{icon}</span>;\n } else if (icons && icons.finish && status === 'finish') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.finish}</span>;\n } else if (icons && icons.error && status === 'error') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.error}</span>;\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = <span class={iconClassName} />;\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return iconNode;\n },\n },\n render() {\n const {\n prefixCls,\n itemWidth,\n status = 'wait',\n tailContent,\n adjustMarginRight,\n } = getOptionProps(this);\n\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n\n const classString = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-${status}`]: true,\n [`${prefixCls}-item-custom`]: getComponentFromProp(this, 'icon'),\n };\n const stepProps = {\n class: classString,\n on: this.$listeners,\n };\n const stepItemStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n }\n return (\n <div {...stepProps} style={stepItemStyle}>\n <div class={`${prefixCls}-item-tail`}>{tailContent}</div>\n <div class={`${prefixCls}-item-icon`}>{this.renderIconNode()}</div>\n <div class={`${prefixCls}-item-content`}>\n <div class={`${prefixCls}-item-title`}>{title}</div>\n {description && <div class={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport debounce from 'lodash/debounce';\nimport isFlexSupported from '../_util/isFlexSupported';\nimport { filterEmpty, getEvents, getPropsData } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n name: 'Steps',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-steps'),\n iconPrefix: PropTypes.string.def('rc'),\n direction: PropTypes.string.def('horizontal'),\n labelPlacement: PropTypes.string.def('horizontal'),\n status: PropTypes.string.def('process'),\n size: PropTypes.string.def(''),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n initial: PropTypes.number.def(0),\n current: PropTypes.number.def(0),\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n data() {\n this.calcStepOffsetWidth = debounce(this.calcStepOffsetWidth, 150);\n return {\n flexSupported: true,\n lastStepOffsetWidth: 0,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n if (!isFlexSupported()) {\n this.setState({\n flexSupported: false,\n });\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n });\n },\n beforeDestroy() {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {\n this.calcStepOffsetWidth.cancel();\n }\n },\n methods: {\n calcStepOffsetWidth() {\n if (isFlexSupported()) {\n return;\n }\n // Just for IE9\n const domNode = this.$refs.vcStepsRef;\n if (domNode.children.length > 0) {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n this.calcTimeout = setTimeout(() => {\n // +1 for fit edge bug of digit width, like 35.4px\n const lastStepOffsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;\n // Reduce shake bug\n if (\n this.lastStepOffsetWidth === lastStepOffsetWidth ||\n Math.abs(this.lastStepOffsetWidth - lastStepOffsetWidth) <= 3\n ) {\n return;\n }\n this.setState({ lastStepOffsetWidth });\n });\n }\n },\n },\n render() {\n const {\n prefixCls,\n direction,\n labelPlacement,\n iconPrefix,\n status,\n size,\n current,\n $scopedSlots,\n initial,\n icons,\n } = this;\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = $scopedSlots.progressDot;\n }\n const { lastStepOffsetWidth, flexSupported } = this;\n const filteredChildren = filterEmpty(this.$slots.default);\n const lastIndex = filteredChildren.length - 1;\n const adjustedlabelPlacement = progressDot ? 'vertical' : labelPlacement;\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-label-${adjustedlabelPlacement}`]: direction === 'horizontal',\n [`${prefixCls}-dot`]: !!progressDot,\n [`${prefixCls}-flex-not-supported`]: !flexSupported,\n };\n const stepsProps = {\n class: classString,\n ref: 'vcStepsRef',\n on: this.$listeners,\n };\n return (\n <div {...stepsProps}>\n {filteredChildren.map((child, index) => {\n const childProps = getPropsData(child);\n const stepNumber = initial + index;\n const stepProps = {\n props: {\n stepNumber: `${stepNumber + 1}`,\n prefixCls,\n iconPrefix,\n progressDot: this.progressDot,\n icons,\n ...childProps,\n },\n on: getEvents(child),\n scopedSlots: $scopedSlots,\n };\n if (!flexSupported && direction !== 'vertical' && index !== lastIndex) {\n stepProps.props.itemWidth = `${100 / lastIndex}%`;\n stepProps.props.adjustMarginRight = `${-Math.round(\n lastStepOffsetWidth / lastIndex + 1,\n )}px`;\n }\n // fix tail color\n if (status === 'error' && index === current - 1) {\n stepProps.class = `${prefixCls}-next-error`;\n }\n if (!childProps.status) {\n if (stepNumber === current) {\n stepProps.props.status = status;\n } else if (stepNumber < current) {\n stepProps.props.status = 'finish';\n } else {\n stepProps.props.status = 'wait';\n }\n }\n return cloneElement(child, stepProps);\n })}\n </div>\n );\n },\n};\n","// base rc-steps 3.3.1\nimport Steps from './Steps';\nimport Step from './Step';\n\nSteps.Step = Step;\n\nexport { Step };\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\n\nexport const switchPropTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(false),\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n // onChange: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n checked: PropTypes.bool.def(false),\n defaultChecked: PropTypes.bool.def(false),\n autoFocus: PropTypes.bool.def(false),\n loadingIcon: PropTypes.any,\n};\n","import { switchPropTypes } from './PropTypes';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, getComponentFromProp } from '../_util/props-util';\n\n// function noop () {\n// }\nexport default {\n name: 'VcSwitch',\n mixins: [BaseMixin],\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n ...switchPropTypes,\n prefixCls: switchPropTypes.prefixCls.def('rc-switch'),\n // onChange: switchPropTypes.onChange.def(noop),\n // onClick: switchPropTypes.onClick.def(noop),\n },\n data() {\n let checked = false;\n if (hasProp(this, 'checked')) {\n checked = !!this.checked;\n } else {\n checked = !!this.defaultChecked;\n }\n return {\n stateChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.stateChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n methods: {\n setChecked(checked) {\n if (this.disabled) {\n return;\n }\n if (!hasProp(this, 'checked')) {\n this.stateChecked = checked;\n }\n this.$emit('change', checked);\n },\n toggle() {\n const checked = !this.stateChecked;\n this.setChecked(checked);\n this.$emit('click', checked);\n },\n handleKeyDown(e) {\n if (e.keyCode === 37) {\n // Left\n this.setChecked(false);\n } else if (e.keyCode === 39) {\n // Right\n this.setChecked(true);\n }\n },\n handleMouseUp(e) {\n if (this.$refs.refSwitchNode) {\n this.$refs.refSwitchNode.blur();\n }\n this.$emit('mouseup', e);\n },\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n render() {\n const { prefixCls, disabled, loadingIcon, ...restProps } = getOptionProps(this);\n const checked = this.stateChecked;\n const switchClassName = {\n [prefixCls]: true,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n };\n const spanProps = {\n props: { ...restProps },\n on: {\n ...this.$listeners,\n keydown: this.handleKeyDown,\n click: this.toggle,\n mouseup: this.handleMouseUp,\n },\n attrs: {\n type: 'button',\n role: 'switch',\n 'aria-checked': checked,\n disabled,\n },\n class: switchClassName,\n ref: 'refSwitchNode',\n };\n return (\n <button {...spanProps}>\n {loadingIcon}\n <span class={`${prefixCls}-inner`}>\n {checked\n ? getComponentFromProp(this, 'checkedChildren')\n : getComponentFromProp(this, 'unCheckedChildren')}\n </span>\n </button>\n );\n },\n};\n","// base rc-switch 1.8.0\nimport Switch from './Switch';\n\nexport default Switch;\n","// base rc-table 6.4.3\nimport T from './src/Table';\nimport Column from './src/Column';\nimport ColumnGroup from './src/ColumnGroup';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n} from '../_util/props-util';\nconst Table = {\n name: 'Table',\n Column,\n ColumnGroup,\n props: T.props,\n methods: {\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, title } = getSlots(element);\n const column = { title, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).isTableColumnGroup) {\n column.children = this.normalize(children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $listeners, $slots, normalize } = this;\n const props = getOptionProps(this);\n const columns = props.columns || normalize($slots.default);\n const tProps = {\n props: {\n ...props,\n columns,\n },\n on: $listeners,\n };\n return <T {...tProps} />;\n },\n};\n\nexport default Table;\nexport { Column, ColumnGroup };\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\nimport { mergeProps } from '../../_util/props-util';\nimport { connect } from '../../_util/store';\nfunction noop() {}\nconst BaseTable = {\n name: 'BaseTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.bool.isRequired,\n hasBody: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n methods: {\n getColumns(cols) {\n const { columns = [], fixed } = this.$props;\n const { table } = this;\n const { prefixCls } = table.$props;\n return (cols || columns).map(column => ({\n ...column,\n className:\n !!column.fixed && !fixed\n ? classNames(`${prefixCls}-fixed-columns-in-body`, column.className || column.class)\n : column.className || column.class,\n }));\n },\n handleRowHover(isHover, key) {\n this.store.setState({\n currentHoverKey: isHover ? key : null,\n });\n },\n\n renderRows(renderData, indent, ancestorKeys = []) {\n const {\n columnManager,\n sComponents: components,\n prefixCls,\n childrenColumnName,\n rowClassName,\n // rowRef,\n $listeners: {\n rowClick: onRowClick = noop,\n rowDoubleclick: onRowDoubleClick = noop,\n rowContextmenu: onRowContextMenu = noop,\n rowMouseenter: onRowMouseEnter = noop,\n rowMouseleave: onRowMouseLeave = noop,\n },\n customRow = noop,\n } = this.table;\n const { getRowKey, fixed, expander, isAnyColumnsFixed } = this;\n\n const rows = [];\n\n for (let i = 0; i < renderData.length; i++) {\n const record = renderData[i];\n const key = getRowKey(record, i);\n const className =\n typeof rowClassName === 'string' ? rowClassName : rowClassName(record, i, indent);\n\n const onHoverProps = {};\n if (columnManager.isAnyColumnsFixed()) {\n onHoverProps.hover = this.handleRowHover;\n }\n\n let leafColumns;\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = this.getColumns(columnManager.leafColumns());\n }\n\n const rowPrefixCls = `${prefixCls}-row`;\n\n const expandableRowProps = {\n props: {\n ...expander.props,\n fixed,\n index: i,\n prefixCls: rowPrefixCls,\n record,\n rowKey: key,\n needIndentSpaced: expander.needIndentSpaced,\n },\n key,\n on: {\n // ...expander.on,\n rowClick: onRowClick,\n expandedChange: expander.handleExpandChange,\n },\n scopedSlots: {\n default: expandableRow => {\n const tableRowProps = mergeProps(\n {\n props: {\n fixed,\n indent,\n record,\n index: i,\n prefixCls: rowPrefixCls,\n childrenColumnName: childrenColumnName,\n columns: leafColumns,\n rowKey: key,\n ancestorKeys,\n components,\n isAnyColumnsFixed,\n customRow,\n },\n on: {\n rowDoubleclick: onRowDoubleClick,\n rowContextmenu: onRowContextMenu,\n rowMouseenter: onRowMouseEnter,\n rowMouseleave: onRowMouseLeave,\n ...onHoverProps,\n },\n class: className,\n ref: `row_${i}_${indent}`,\n },\n expandableRow,\n );\n return <TableRow {...tableRowProps} />;\n },\n },\n };\n const row = <ExpandableRow {...expandableRowProps} />;\n\n rows.push(row);\n expander.renderRows(this.renderRows, rows, record, i, indent, fixed, key, ancestorKeys);\n }\n return rows;\n },\n },\n\n render() {\n const { sComponents: components, prefixCls, scroll, data, getBodyWrapper } = this.table;\n const { expander, tableClassName, hasHead, hasBody, fixed } = this.$props;\n\n const tableStyle = {};\n\n if (!fixed && scroll.x) {\n // not set width, then use content fixed width\n if (scroll.x === true) {\n tableStyle.tableLayout = 'fixed';\n } else {\n tableStyle.width = typeof scroll.x === 'number' ? `${scroll.x}px` : scroll.x;\n }\n }\n\n const Table = hasBody ? components.table : 'table';\n const BodyWrapper = components.body.wrapper;\n\n let body;\n if (hasBody) {\n body = <BodyWrapper class={`${prefixCls}-tbody`}>{this.renderRows(data, 0)}</BodyWrapper>;\n if (getBodyWrapper) {\n body = getBodyWrapper(body);\n }\n }\n const columns = this.getColumns();\n return (\n <Table class={tableClassName} style={tableStyle} key=\"table\">\n <ColGroup columns={columns} fixed={fixed} />\n {hasHead && <TableHeader expander={expander} columns={columns} fixed={fixed} />}\n {body}\n </Table>\n );\n },\n};\n\nexport default connect()(BaseTable);\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\n\nexport default {\n name: 'BodyTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScroll: PropTypes.func.isRequired,\n handleWheel: PropTypes.func.isRequired,\n getRowKey: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n mounted() {\n this.updateTableRef();\n },\n updated() {\n this.updateTableRef();\n },\n methods: {\n updateTableRef() {\n this.$refs.fixedColumnsBodyLeft &&\n this.table.saveChildrenRef('fixedColumnsBodyLeft', this.$refs.fixedColumnsBodyLeft);\n this.$refs.fixedColumnsBodyRight &&\n this.table.saveChildrenRef('fixedColumnsBodyRight', this.$refs.fixedColumnsBodyRight);\n this.$refs.bodyTable && this.table.saveChildrenRef('bodyTable', this.$refs.bodyTable);\n },\n },\n render() {\n const { prefixCls, scroll } = this.table;\n const {\n columns,\n fixed,\n tableClassName,\n getRowKey,\n handleBodyScroll,\n handleWheel,\n expander,\n isAnyColumnsFixed,\n } = this;\n let { useFixedHeader } = this.table;\n const bodyStyle = { ...this.table.bodyStyle };\n const innerBodyStyle = {};\n\n if (scroll.x || fixed) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'scroll';\n // Fix weired webkit render bug\n // https://github.com/ant-design/ant-design/issues/7783\n bodyStyle.WebkitTransform = 'translate3d (0, 0, 0)';\n }\n\n if (scroll.y) {\n // maxHeight will make fixed-Table scrolling not working\n // so we only set maxHeight to body-Table here\n let maxHeight = bodyStyle.maxHeight || scroll.y;\n maxHeight = typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight;\n if (fixed) {\n innerBodyStyle.maxHeight = maxHeight;\n innerBodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n } else {\n bodyStyle.maxHeight = maxHeight;\n }\n bodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n useFixedHeader = true;\n\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar();\n if (scrollbarWidth > 0 && fixed) {\n bodyStyle.marginBottom = `-${scrollbarWidth}px`;\n bodyStyle.paddingBottom = '0px';\n }\n }\n\n const baseTable = (\n <BaseTable\n tableClassName={tableClassName}\n hasHead={!useFixedHeader}\n hasBody\n fixed={fixed}\n columns={columns}\n expander={expander}\n getRowKey={getRowKey}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n if (fixed && columns.length) {\n let refName;\n if (columns[0].fixed === 'left' || columns[0].fixed === true) {\n refName = 'fixedColumnsBodyLeft';\n } else if (columns[0].fixed === 'right') {\n refName = 'fixedColumnsBodyRight';\n }\n delete bodyStyle.overflowX;\n delete bodyStyle.overflowY;\n return (\n <div key=\"bodyTable\" class={`${prefixCls}-body-outer`} style={{ ...bodyStyle }}>\n <div\n class={`${prefixCls}-body-inner`}\n style={innerBodyStyle}\n ref={refName}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n </div>\n );\n }\n return (\n <div\n key=\"bodyTable\"\n class={`${prefixCls}-body`}\n style={bodyStyle}\n ref=\"bodyTable\"\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'ColGroup',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { fixed, table } = this;\n const { prefixCls, expandIconAsCell, columnManager } = table;\n\n let cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(<col class={`${prefixCls}-expand-icon-col`} key=\"rc-table-expand-icon-col\" />);\n }\n\n let leafColumns;\n\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = columnManager.leafColumns();\n }\n cols = cols.concat(\n leafColumns.map(c => {\n const width = typeof c.width === 'number' ? `${c.width}px` : c.width;\n return <col key={c.key || c.dataIndex} style={width ? { width, minWidth: width } : {}} />;\n }),\n );\n return <colgroup>{cols}</colgroup>;\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'Column',\n props: {\n colSpan: PropTypes.number,\n title: PropTypes.any,\n dataIndex: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fixed: PropTypes.oneOf([true, 'left', 'right']),\n customRender: PropTypes.func,\n className: PropTypes.string,\n // onCellClick: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'ColumnGroup',\n props: {\n title: PropTypes.any,\n },\n isTableColumnGroup: true,\n};\n","export default class ColumnManager {\n constructor(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n isAnyColumnsFixed() {\n return this._cache('isAnyColumnsFixed', () => {\n return this.columns.some(column => !!column.fixed);\n });\n }\n\n isAnyColumnsLeftFixed() {\n return this._cache('isAnyColumnsLeftFixed', () => {\n return this.columns.some(column => column.fixed === 'left' || column.fixed === true);\n });\n }\n\n isAnyColumnsRightFixed() {\n return this._cache('isAnyColumnsRightFixed', () => {\n return this.columns.some(column => column.fixed === 'right');\n });\n }\n\n leftColumns() {\n return this._cache('leftColumns', () => {\n return this.groupedColumns().filter(\n column => column.fixed === 'left' || column.fixed === true,\n );\n });\n }\n\n rightColumns() {\n return this._cache('rightColumns', () => {\n return this.groupedColumns().filter(column => column.fixed === 'right');\n });\n }\n\n leafColumns() {\n return this._cache('leafColumns', () => this._leafColumns(this.columns));\n }\n\n leftLeafColumns() {\n return this._cache('leftLeafColumns', () => this._leafColumns(this.leftColumns()));\n }\n\n rightLeafColumns() {\n return this._cache('rightLeafColumns', () => this._leafColumns(this.rightColumns()));\n }\n\n // add appropriate rowspan and colspan to column\n groupedColumns() {\n return this._cache('groupedColumns', () => {\n const _groupColumns = (columns, currentRow = 0, parentColumn = {}, rows = []) => {\n // track how many rows we got\n rows[currentRow] = rows[currentRow] || [];\n const grouped = [];\n const setRowSpan = column => {\n const rowSpan = rows.length - currentRow;\n if (\n column &&\n !column.children && // parent columns are supposed to be one row\n rowSpan > 1 &&\n (!column.rowSpan || column.rowSpan < rowSpan)\n ) {\n column.rowSpan = rowSpan;\n }\n };\n columns.forEach((column, index) => {\n const newColumn = { ...column };\n rows[currentRow].push(newColumn);\n parentColumn.colSpan = parentColumn.colSpan || 0;\n if (newColumn.children && newColumn.children.length > 0) {\n newColumn.children = _groupColumns(newColumn.children, currentRow + 1, newColumn, rows);\n parentColumn.colSpan += newColumn.colSpan;\n } else {\n parentColumn.colSpan++;\n }\n // update rowspan to all same row columns\n for (let i = 0; i < rows[currentRow].length - 1; ++i) {\n setRowSpan(rows[currentRow][i]);\n }\n // last column, update rowspan immediately\n if (index + 1 === columns.length) {\n setRowSpan(newColumn);\n }\n grouped.push(newColumn);\n });\n return grouped;\n };\n return _groupColumns(this.columns);\n });\n }\n\n reset(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n _cache(name, fn) {\n if (name in this._cached) {\n return this._cached[name];\n }\n this._cached[name] = fn();\n return this._cached[name];\n }\n\n _leafColumns(columns) {\n const leafColumns = [];\n columns.forEach(column => {\n if (!column.children) {\n leafColumns.push(column);\n } else {\n leafColumns.push(...this._leafColumns(column.children));\n }\n });\n return leafColumns;\n }\n}\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nexport default {\n name: 'ExpandIcon',\n mixins: [BaseMixin],\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.bool,\n needIndentSpaced: PropTypes.bool,\n },\n methods: {\n onExpand(e) {\n this.__emit('expand', this.record, e);\n },\n },\n\n render() {\n const { expandable, prefixCls, onExpand, needIndentSpaced, expanded } = this;\n if (expandable) {\n const expandClassName = expanded ? 'expanded' : 'collapsed';\n return (\n <span\n class={`${prefixCls}-expand-icon ${prefixCls}-${expandClassName}`}\n onClick={onExpand}\n />\n );\n } else if (needIndentSpaced) {\n return <span class={`${prefixCls}-expand-icon ${prefixCls}-spaced`} />;\n }\n return null;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport ExpandIcon from './ExpandIcon';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { connect } from '../../_util/store';\n\nconst ExpandableRow = {\n mixins: [BaseMixin],\n name: 'ExpandableRow',\n props: {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n record: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n indentSize: PropTypes.number,\n needIndentSpaced: PropTypes.bool.isRequired,\n expandRowByClick: PropTypes.bool,\n expanded: PropTypes.bool.isRequired,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n childrenColumnName: PropTypes.string,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n // onExpandedChange: PropTypes.func.isRequired,\n // onRowClick: PropTypes.func,\n // children: PropTypes.func.isRequired,\n },\n\n beforeDestroy() {\n this.handleDestroy();\n },\n methods: {\n hasExpandIcon(columnIndex) {\n const { expandRowByClick } = this;\n return (\n !this.tempExpandIconAsCell &&\n !expandRowByClick &&\n columnIndex === this.tempExpandIconColumnIndex\n );\n },\n\n handleExpandChange(record, event) {\n const { expanded, rowKey } = this;\n this.__emit('expandedChange', !expanded, record, event, rowKey);\n },\n\n handleDestroy() {\n const { rowKey, record } = this;\n this.__emit('expandedChange', false, record, null, rowKey, true);\n },\n\n handleRowClick(record, index, event) {\n const { expandRowByClick } = this;\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n this.__emit('rowClick', record, index, event);\n },\n\n renderExpandIcon() {\n const { prefixCls, expanded, record, needIndentSpaced, expandIcon } = this;\n if (expandIcon) {\n return expandIcon({\n prefixCls,\n expanded,\n record,\n needIndentSpaced,\n expandable: this.expandable,\n onExpand: this.handleExpandChange,\n });\n }\n return (\n <ExpandIcon\n expandable={this.expandable}\n prefixCls={prefixCls}\n onExpand={this.handleExpandChange}\n needIndentSpaced={needIndentSpaced}\n expanded={expanded}\n record={record}\n />\n );\n },\n\n renderExpandIconCell(cells) {\n if (!this.tempExpandIconAsCell) {\n return;\n }\n const { prefixCls } = this;\n\n cells.push(\n <td class={`${prefixCls}-expand-icon-cell`} key=\"rc-table-expand-icon-cell\">\n {this.renderExpandIcon()}\n </td>,\n );\n },\n },\n\n render() {\n const {\n childrenColumnName,\n expandedRowRender,\n indentSize,\n record,\n fixed,\n $scopedSlots,\n expanded,\n } = this;\n\n this.tempExpandIconAsCell = fixed !== 'right' ? this.expandIconAsCell : false;\n this.tempExpandIconColumnIndex = fixed !== 'right' ? this.expandIconColumnIndex : -1;\n const childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n const expandableRowProps = {\n props: {\n indentSize,\n expanded, // not used in TableRow, but it's required to re-render TableRow when `expanded` changes\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n },\n\n on: {\n rowClick: this.handleRowClick,\n },\n };\n\n return $scopedSlots.default && $scopedSlots.default(expandableRowProps);\n },\n};\n\nexport default connect(({ expandedRowKeys }, { rowKey }) => ({\n expanded: !!~expandedRowKeys.indexOf(rowKey),\n}))(ExpandableRow);\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { connect } from '../../_util/store';\nimport shallowEqual from 'shallowequal';\nimport TableRow from './TableRow';\nimport { remove } from './utils';\nimport { initDefaultProps, getOptionProps } from '../../_util/props-util';\n\nexport const ExpandableTableProps = () => ({\n expandIconAsCell: PropTypes.bool,\n expandRowByClick: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n // onExpand: PropTypes.func,\n // onExpandedRowsChange: PropTypes.func,\n columnManager: PropTypes.object.isRequired,\n store: PropTypes.object.isRequired,\n prefixCls: PropTypes.string.isRequired,\n data: PropTypes.array,\n getRowKey: PropTypes.func,\n});\n\nconst ExpandableTable = {\n name: 'ExpandableTable',\n mixins: [BaseMixin],\n props: initDefaultProps(ExpandableTableProps(), {\n expandIconAsCell: false,\n expandedRowClassName: () => '',\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15,\n }),\n\n data() {\n const {\n data,\n childrenColumnName,\n defaultExpandAllRows,\n expandedRowKeys,\n defaultExpandedRowKeys,\n getRowKey,\n } = this;\n\n let finnalExpandedRowKeys = [];\n let rows = [...data];\n\n if (defaultExpandAllRows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n finnalExpandedRowKeys.push(getRowKey(row, i));\n rows = rows.concat(row[childrenColumnName] || []);\n }\n } else {\n finnalExpandedRowKeys = expandedRowKeys || defaultExpandedRowKeys;\n }\n\n // this.columnManager = props.columnManager\n // this.store = props.store\n\n this.store.setState({\n expandedRowsHeight: {},\n expandedRowKeys: finnalExpandedRowKeys,\n });\n return {};\n },\n mounted() {\n this.handleUpdated();\n },\n updated() {\n this.handleUpdated();\n },\n watch: {\n expandedRowKeys(val) {\n this.$nextTick(() => {\n this.store.setState({\n expandedRowKeys: val,\n });\n });\n },\n },\n methods: {\n handleUpdated() {\n // We should record latest expanded rows to avoid multiple rows remove cause `onExpandedRowsChange` trigger many times\n this.latestExpandedRows = null;\n },\n handleExpandChange(expanded, record, event, rowKey, destroy = false) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let { expandedRowKeys } = this.store.getState();\n\n if (expanded) {\n // row was expaned\n expandedRowKeys = [...expandedRowKeys, rowKey];\n } else {\n // row was collapse\n const expandedRowIndex = expandedRowKeys.indexOf(rowKey);\n if (expandedRowIndex !== -1) {\n expandedRowKeys = remove(expandedRowKeys, rowKey);\n }\n }\n\n if (!this.expandedRowKeys) {\n this.store.setState({ expandedRowKeys });\n }\n // De-dup of repeat call\n if (!this.latestExpandedRows || !shallowEqual(this.latestExpandedRows, expandedRowKeys)) {\n this.latestExpandedRows = expandedRowKeys;\n this.__emit('expandedRowsChange', expandedRowKeys);\n }\n\n if (!destroy) {\n this.__emit('expand', expanded, record);\n }\n },\n\n renderExpandIndentCell(rows, fixed) {\n const { prefixCls, expandIconAsCell } = this;\n if (!expandIconAsCell || fixed === 'right' || !rows.length) {\n return;\n }\n\n const iconColumn = {\n key: 'rc-table-expand-icon-cell',\n className: `${prefixCls}-expand-icon-th`,\n title: '',\n rowSpan: rows.length,\n };\n\n rows[0].unshift({ ...iconColumn, column: iconColumn });\n },\n\n renderExpandedRow(record, index, expandedRowRender, className, ancestorKeys, indent, fixed) {\n const { prefixCls, expandIconAsCell, indentSize } = this;\n const parentKey = ancestorKeys[ancestorKeys.length - 1];\n const rowKey = `${parentKey}-extra-row`;\n const components = {\n body: {\n row: 'tr',\n cell: 'td',\n },\n };\n let colCount;\n if (fixed === 'left') {\n colCount = this.columnManager.leftLeafColumns().length;\n } else if (fixed === 'right') {\n colCount = this.columnManager.rightLeafColumns().length;\n } else {\n colCount = this.columnManager.leafColumns().length;\n }\n const columns = [\n {\n key: 'extra-row',\n customRender: () => {\n const { expandedRowKeys } = this.store.getState();\n const expanded = !!~expandedRowKeys.indexOf(parentKey);\n return {\n attrs: {\n colSpan: colCount,\n },\n children:\n fixed !== 'right' ? expandedRowRender(record, index, indent, expanded) : ' ',\n };\n },\n },\n ];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: () => null,\n });\n }\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n class={className}\n rowKey={rowKey}\n ancestorKeys={ancestorKeys}\n prefixCls={`${prefixCls}-expanded-row`}\n indentSize={indentSize}\n indent={indent}\n fixed={fixed}\n components={components}\n expandedRow\n hasExpandIcon={() => {}}\n />\n );\n },\n\n renderRows(renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this;\n const childrenData = record[childrenColumnName];\n const nextAncestorKeys = [...ancestorKeys, parentKey];\n const nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(\n this.renderExpandedRow(\n record,\n index,\n expandedRowRender,\n expandedRowClassName(record, index, indent),\n nextAncestorKeys,\n nextIndent,\n fixed,\n ),\n );\n }\n\n if (childrenData) {\n rows.push(...renderRows(childrenData, nextIndent, nextAncestorKeys));\n }\n },\n },\n\n render() {\n const { data, childrenColumnName, $scopedSlots, $listeners } = this;\n const props = getOptionProps(this);\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return (\n $scopedSlots.default &&\n $scopedSlots.default({\n props,\n on: $listeners,\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n })\n );\n },\n};\n\nexport default connect()(ExpandableTable);\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\n\nexport default {\n name: 'HeadTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n mounted() {\n this.updateTableRef();\n },\n updated() {\n this.updateTableRef();\n },\n methods: {\n updateTableRef() {\n this.$nextTick(() => {\n this.$refs.headTable && this.table.saveChildrenRef('headTable', this.$refs.headTable);\n });\n },\n },\n render() {\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander, table } = this;\n const { prefixCls, scroll, showHeader } = table;\n let { useFixedHeader } = table;\n const headStyle = {};\n\n if (scroll.y) {\n useFixedHeader = true;\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar('horizontal');\n if (scrollbarWidth > 0 && !fixed) {\n headStyle.marginBottom = `-${scrollbarWidth}px`;\n headStyle.paddingBottom = '0px';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n return (\n <div\n key=\"headTable\"\n ref={fixed ? null : 'headTable'}\n class={`${prefixCls}-header`}\n style={headStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead\n hasBody={false}\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n },\n};\n","/* eslint-disable camelcase */\nimport shallowequal from 'shallowequal';\nimport merge from 'lodash/merge';\nimport classes from 'component-classes';\nimport PropTypes from '../../_util/vue-types';\nimport { debounce, warningOnce } from './utils';\nimport addEventListener from '../../_util/Dom/addEventListener';\nimport { Provider, create } from '../../_util/store';\nimport ColumnManager from './ColumnManager';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport ExpandableTable from './ExpandableTable';\nimport { initDefaultProps, getOptionProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\n\nexport default {\n name: 'Table',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n data: PropTypes.array,\n useFixedHeader: PropTypes.bool,\n columns: PropTypes.array,\n prefixCls: PropTypes.string,\n bodyStyle: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n showHeader: PropTypes.bool,\n title: PropTypes.func,\n id: PropTypes.string,\n footer: PropTypes.func,\n emptyText: PropTypes.any,\n scroll: PropTypes.object,\n rowRef: PropTypes.func,\n getBodyWrapper: PropTypes.func,\n components: PropTypes.shape({\n table: PropTypes.any,\n header: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n body: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n }),\n expandIconAsCell: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n expandIcon: PropTypes.func,\n },\n {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: () => '',\n prefixCls: 'rc-table',\n bodyStyle: {},\n showHeader: true,\n scroll: {},\n rowRef: () => null,\n emptyText: () => 'No Data',\n customHeaderRow: () => {},\n },\n ),\n data() {\n this.preData = [...this.data];\n return {\n columnManager: new ColumnManager(this.columns),\n sComponents: merge(\n {\n table: 'table',\n header: {\n wrapper: 'thead',\n row: 'tr',\n cell: 'th',\n },\n body: {\n wrapper: 'tbody',\n row: 'tr',\n cell: 'td',\n },\n },\n this.components,\n ),\n };\n },\n watch: {\n components() {\n this._components = merge(\n {\n table: 'table',\n header: {\n wrapper: 'thead',\n row: 'tr',\n cell: 'th',\n },\n body: {\n wrapper: 'tbody',\n row: 'tr',\n cell: 'td',\n },\n },\n this.components,\n );\n },\n columns(val) {\n if (val) {\n this.columnManager.reset(val);\n }\n },\n data(val) {\n if (val.length === 0 && this.hasScrollX()) {\n this.$nextTick(() => {\n this.resetScrollX();\n });\n }\n },\n },\n\n // static childContextTypes = {\n // table: PropTypes.any,\n // components: PropTypes.any,\n // },\n\n created() {\n ['rowClick', 'rowDoubleclick', 'rowContextmenu', 'rowMouseenter', 'rowMouseleave'].forEach(\n name => {\n warningOnce(\n this.$listeners[name] === undefined,\n `${name} is deprecated, please use customRow instead.`,\n );\n },\n );\n\n warningOnce(\n this.getBodyWrapper === undefined,\n 'getBodyWrapper is deprecated, please use custom components instead.',\n );\n\n // this.columnManager = new ColumnManager(this.columns, this.$slots.default)\n\n this.store = create({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsBodyRowsHeight: {},\n });\n\n this.setScrollPosition('left');\n\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n },\n provide() {\n return {\n table: this,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n // https://github.com/ant-design/ant-design/issues/11635\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n });\n },\n\n updated() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n if (!this.resizeEvent) {\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedWindowResize) {\n this.debouncedWindowResize.cancel();\n }\n },\n methods: {\n getRowKey(record, index) {\n const rowKey = this.rowKey;\n const key = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warningOnce(\n key !== undefined,\n 'Each record in table should have a unique `key` prop,' +\n 'or set `rowKey` to an unique primary key.',\n );\n return key === undefined ? index : key;\n },\n\n setScrollPosition(position) {\n this.scrollPosition = position;\n if (this.$refs.tableNode) {\n const { prefixCls } = this;\n if (position === 'both') {\n classes(this.$refs.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-left`)\n .add(`${prefixCls}-scroll-position-right`);\n } else {\n classes(this.$refs.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-${position}`);\n }\n }\n },\n\n setScrollPositionClassName() {\n const node = this.ref_bodyTable;\n const scrollToLeft = node.scrollLeft === 0;\n const scrollToRight =\n node.scrollLeft + 1 >=\n node.children[0].getBoundingClientRect().width - node.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n this.setScrollPosition('both');\n } else if (scrollToLeft) {\n this.setScrollPosition('left');\n } else if (scrollToRight) {\n this.setScrollPosition('right');\n } else if (this.scrollPosition !== 'middle') {\n this.setScrollPosition('middle');\n }\n },\n\n handleWindowResize() {\n this.syncFixedTableRowHeight();\n this.setScrollPositionClassName();\n },\n\n syncFixedTableRowHeight() {\n const tableRect = this.$refs.tableNode.getBoundingClientRect();\n // If tableNode's height less than 0, suppose it is hidden and don't recalculate rowHeight.\n // see: https://github.com/ant-design/ant-design/issues/4836\n if (tableRect.height !== undefined && tableRect.height <= 0) {\n return;\n }\n const { prefixCls } = this;\n const headRows = this.ref_headTable\n ? this.ref_headTable.querySelectorAll('thead')\n : this.ref_bodyTable.querySelectorAll('thead');\n const bodyRows = this.ref_bodyTable.querySelectorAll(`.${prefixCls}-row`) || [];\n const fixedColumnsHeadRowsHeight = [].map.call(\n headRows,\n row => row.getBoundingClientRect().height || 'auto',\n );\n const state = this.store.getState();\n const fixedColumnsBodyRowsHeight = [].reduce.call(\n bodyRows,\n (acc, row) => {\n const rowKey = row.getAttribute('data-row-key');\n const height =\n row.getBoundingClientRect().height ||\n state.fixedColumnsBodyRowsHeight[rowKey] ||\n 'auto';\n acc[rowKey] = height;\n return acc;\n },\n {},\n );\n if (\n shallowequal(state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) &&\n shallowequal(state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)\n ) {\n return;\n }\n this.store.setState({\n fixedColumnsHeadRowsHeight,\n fixedColumnsBodyRowsHeight,\n });\n },\n\n resetScrollX() {\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n },\n\n hasScrollX() {\n const { scroll = {} } = this;\n return 'x' in scroll;\n },\n\n handleBodyScrollLeft(e) {\n // Fix https://github.com/ant-design/ant-design/issues/7635\n if (e.currentTarget !== e.target) {\n return;\n }\n const target = e.target;\n const { scroll = {} } = this;\n const { ref_headTable, ref_bodyTable } = this;\n if (target.scrollLeft !== this.lastScrollLeft && scroll.x) {\n if (target === ref_bodyTable && ref_headTable) {\n ref_headTable.scrollLeft = target.scrollLeft;\n } else if (target === ref_headTable && ref_bodyTable) {\n ref_bodyTable.scrollLeft = target.scrollLeft;\n }\n this.setScrollPositionClassName();\n }\n // Remember last scrollLeft for scroll direction detecting.\n this.lastScrollLeft = target.scrollLeft;\n },\n\n handleBodyScrollTop(e) {\n const target = e.target;\n // Fix https://github.com/ant-design/ant-design/issues/9033\n if (e.currentTarget !== target) {\n return;\n }\n const { scroll = {} } = this;\n const {\n ref_headTable,\n ref_bodyTable,\n ref_fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight,\n } = this;\n if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== ref_headTable) {\n const scrollTop = target.scrollTop;\n if (ref_fixedColumnsBodyLeft && target !== ref_fixedColumnsBodyLeft) {\n ref_fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n if (ref_fixedColumnsBodyRight && target !== ref_fixedColumnsBodyRight) {\n ref_fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n if (ref_bodyTable && target !== ref_bodyTable) {\n ref_bodyTable.scrollTop = scrollTop;\n }\n }\n // Remember last scrollTop for scroll direction detecting.\n this.lastScrollTop = target.scrollTop;\n },\n\n handleBodyScroll(e) {\n this.handleBodyScrollLeft(e);\n this.handleBodyScrollTop(e);\n },\n handleWheel(event) {\n const { scroll = {} } = this.$props;\n if (window.navigator.userAgent.match(/Trident\\/7\\./) && scroll.y) {\n event.preventDefault();\n const wd = event.deltaY;\n const target = event.target;\n const {\n ref_bodyTable: bodyTable,\n ref_fixedColumnsBodyLeft: fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight: fixedColumnsBodyRight,\n } = this;\n let scrollTop = 0;\n\n if (this.lastScrollTop) {\n scrollTop = this.lastScrollTop + wd;\n } else {\n scrollTop = wd;\n }\n\n if (fixedColumnsBodyLeft && target !== fixedColumnsBodyLeft) {\n fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n if (fixedColumnsBodyRight && target !== fixedColumnsBodyRight) {\n fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n if (bodyTable && target !== bodyTable) {\n bodyTable.scrollTop = scrollTop;\n }\n }\n },\n saveChildrenRef(name, node) {\n this[`ref_${name}`] = node;\n },\n renderMainTable() {\n const { scroll, prefixCls } = this;\n const isAnyColumnsFixed = this.columnManager.isAnyColumnsFixed();\n const scrollable = isAnyColumnsFixed || scroll.x || scroll.y;\n\n const table = [\n this.renderTable({\n columns: this.columnManager.groupedColumns(),\n isAnyColumnsFixed,\n }),\n this.renderEmptyText(),\n this.renderFooter(),\n ];\n\n return scrollable ? <div class={`${prefixCls}-scroll`}>{table}</div> : table;\n },\n\n renderLeftFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${prefixCls}-fixed-left`}>\n {this.renderTable({\n columns: this.columnManager.leftColumns(),\n fixed: 'left',\n })}\n </div>\n );\n },\n renderRightFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${prefixCls}-fixed-right`}>\n {this.renderTable({\n columns: this.columnManager.rightColumns(),\n fixed: 'right',\n })}\n </div>\n );\n },\n\n renderTable(options) {\n const { columns, fixed, isAnyColumnsFixed } = options;\n const { prefixCls, scroll = {} } = this;\n const tableClassName = scroll.x || fixed ? `${prefixCls}-fixed` : '';\n\n const headTable = (\n <HeadTable\n key=\"head\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n handleBodyScrollLeft={this.handleBodyScrollLeft}\n expander={this.expander}\n />\n );\n\n const bodyTable = (\n <BodyTable\n key=\"body\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n getRowKey={this.getRowKey}\n handleWheel={this.handleWheel}\n handleBodyScroll={this.handleBodyScroll}\n expander={this.expander}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n return [headTable, bodyTable];\n },\n\n renderTitle() {\n const { title, prefixCls, data } = this;\n return title ? (\n <div class={`${prefixCls}-title`} key=\"title\">\n {title(data)}\n </div>\n ) : null;\n },\n\n renderFooter() {\n const { footer, prefixCls, data } = this;\n return footer ? (\n <div class={`${prefixCls}-footer`} key=\"footer\">\n {footer(data)}\n </div>\n ) : null;\n },\n\n renderEmptyText() {\n const { emptyText, prefixCls, data } = this;\n if (data.length) {\n return null;\n }\n const emptyClassName = `${prefixCls}-placeholder`;\n return (\n <div class={emptyClassName} key=\"emptyText\">\n {typeof emptyText === 'function' ? emptyText() : emptyText}\n </div>\n );\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { $listeners, columnManager, getRowKey } = this;\n const prefixCls = props.prefixCls;\n let className = props.prefixCls;\n if (props.useFixedHeader || (props.scroll && props.scroll.y)) {\n className += ` ${prefixCls}-fixed-header`;\n }\n if (this.scrollPosition === 'both') {\n className += ` ${prefixCls}-scroll-position-left ${prefixCls}-scroll-position-right`;\n } else {\n className += ` ${prefixCls}-scroll-position-${this.scrollPosition}`;\n }\n const hasLeftFixed = columnManager.isAnyColumnsLeftFixed();\n const hasRightFixed = columnManager.isAnyColumnsRightFixed();\n\n const expandableTableProps = {\n props: {\n ...props,\n columnManager,\n getRowKey,\n },\n on: { ...$listeners },\n scopedSlots: {\n default: expander => {\n this.expander = expander;\n return (\n <div\n ref=\"tableNode\"\n class={className}\n // style={props.style}\n // id={props.id}\n >\n {this.renderTitle()}\n <div class={`${prefixCls}-content`}>\n {this.renderMainTable()}\n {hasLeftFixed && this.renderLeftFixedTable()}\n {hasRightFixed && this.renderRightFixedTable()}\n </div>\n </div>\n );\n },\n },\n };\n return (\n <Provider store={this.store}>\n <ExpandableTable {...expandableTableProps} />\n </Provider>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport get from 'lodash/get';\nimport { isValidElement, mergeProps } from '../../_util/props-util';\n\nfunction isInvalidRenderCellText(text) {\n return (\n text && !isValidElement(text) && Object.prototype.toString.call(text) === '[object Object]'\n );\n}\n\nexport default {\n name: 'TableCell',\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n index: PropTypes.number,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n column: PropTypes.object,\n expandIcon: PropTypes.any,\n component: PropTypes.any,\n },\n methods: {\n handleClick(e) {\n const {\n record,\n column: { onCellClick },\n } = this;\n if (onCellClick) {\n onCellClick(record, e);\n }\n },\n },\n\n render() {\n const {\n record,\n indentSize,\n prefixCls,\n indent,\n index,\n expandIcon,\n column,\n component: BodyCell,\n } = this;\n const { dataIndex, customRender, className = '' } = column;\n const cls = className || column.class;\n // We should return undefined if no dataIndex is specified, but in order to\n // be compatible with object-path's behavior, we return the record object instead.\n let text;\n if (typeof dataIndex === 'number') {\n text = get(record, dataIndex);\n } else if (!dataIndex || dataIndex.length === 0) {\n text = record;\n } else {\n text = get(record, dataIndex);\n }\n let tdProps = {\n props: {},\n attrs: {},\n class: cls,\n on: {\n click: this.handleClick,\n },\n };\n let colSpan;\n let rowSpan;\n\n if (customRender) {\n text = customRender(text, record, index);\n if (isInvalidRenderCellText(text)) {\n tdProps.attrs = text.attrs || {};\n tdProps.props = text.props || {};\n colSpan = tdProps.attrs.colSpan;\n rowSpan = tdProps.attrs.rowSpan;\n text = text.children;\n }\n }\n\n if (column.customCell) {\n tdProps = mergeProps(tdProps, column.customCell(record, index));\n }\n\n // Fix https://github.com/ant-design/ant-design/issues/1202\n if (isInvalidRenderCellText(text)) {\n text = null;\n }\n\n const indentText = expandIcon ? (\n <span\n style={{ paddingLeft: `${indentSize * indent}px` }}\n class={`${prefixCls}-indent indent-level-${indent}`}\n />\n ) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n if (column.align) {\n tdProps.style = { textAlign: column.align };\n }\n\n return (\n <BodyCell {...tdProps}>\n {indentText}\n {expandIcon}\n {text}\n </BodyCell>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction getHeaderRows(columns, currentRow = 0, rows) {\n rows = rows || [];\n rows[currentRow] = rows[currentRow] || [];\n\n columns.forEach(column => {\n if (column.rowSpan && rows.length < column.rowSpan) {\n while (rows.length < column.rowSpan) {\n rows.push([]);\n }\n }\n const cell = {\n key: column.key,\n className: column.className || column.class || '',\n children: column.title,\n column,\n };\n if (column.children) {\n getHeaderRows(column.children, currentRow + 1, rows);\n }\n if ('colSpan' in column) {\n cell.colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n if (cell.colSpan !== 0) {\n rows[currentRow].push(cell);\n }\n });\n return rows.filter(row => row.length > 0);\n}\n\nexport default {\n name: 'TableHeader',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n\n render() {\n const { sComponents: components, prefixCls, showHeader, customHeaderRow } = this.table;\n const { expander, columns, fixed } = this;\n\n if (!showHeader) {\n return null;\n }\n\n const rows = getHeaderRows(columns);\n\n expander.renderExpandIndentCell(rows, fixed);\n\n const HeaderWrapper = components.header.wrapper;\n\n return (\n <HeaderWrapper class={`${prefixCls}-thead`}>\n {rows.map((row, index) => (\n <TableHeaderRow\n prefixCls={prefixCls}\n key={index}\n index={index}\n fixed={fixed}\n columns={columns}\n rows={rows}\n row={row}\n components={components}\n customHeaderRow={customHeaderRow}\n />\n ))}\n </HeaderWrapper>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { connect } from '../../_util/store';\nimport { mergeProps } from '../../_util/props-util';\n\nconst TableHeaderRow = {\n props: {\n index: PropTypes.number,\n fixed: PropTypes.string,\n columns: PropTypes.array,\n rows: PropTypes.array,\n row: PropTypes.array,\n components: PropTypes.object,\n height: PropTypes.any,\n customHeaderRow: PropTypes.func,\n prefixCls: PropTypes.prefixCls,\n },\n name: 'TableHeaderRow',\n render(h) {\n const { row, index, height, components, customHeaderRow, prefixCls } = this;\n const HeaderRow = components.header.row;\n const HeaderCell = components.header.cell;\n const rowProps = customHeaderRow(row.map(cell => cell.column), index);\n const customStyle = rowProps ? rowProps.style : {};\n const style = { height, ...customStyle };\n if (style.height === null) {\n delete style.height;\n }\n return (\n <HeaderRow {...rowProps} style={style}>\n {row.map((cell, i) => {\n const { column, children, className, ...cellProps } = cell;\n const cls = cell.class || className;\n const customProps = column.customHeaderCell ? column.customHeaderCell(column) : {};\n\n const headerCellProps = mergeProps(\n {\n attrs: {\n ...cellProps,\n },\n class: cls,\n },\n {\n ...customProps,\n key: column.key || column.dataIndex || i,\n },\n );\n\n if (column.align) {\n headerCellProps.style = { ...customProps.style, textAlign: column.align };\n headerCellProps.class = classNames(customProps.cls, column.class, column.className, {\n [`${prefixCls}-align-${column.align}`]: !!column.align,\n });\n }\n\n if (typeof HeaderCell === 'function') {\n return HeaderCell(h, headerCellProps, children);\n }\n return <HeaderCell {...headerCellProps}>{children}</HeaderCell>;\n })}\n </HeaderRow>\n );\n },\n};\n\nfunction getRowHeight(state, props) {\n const { fixedColumnsHeadRowsHeight } = state;\n const { columns, rows, fixed } = props;\n const headerHeight = fixedColumnsHeadRowsHeight[0];\n\n if (!fixed) {\n return null;\n }\n\n if (headerHeight && columns) {\n if (headerHeight === 'auto') {\n return 'auto';\n }\n return `${headerHeight / rows.length}px`;\n }\n return null;\n}\n\nexport default connect((state, props) => {\n return {\n height: getRowHeight(state, props),\n };\n})(TableHeaderRow);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { connect } from '../../_util/store';\nimport TableCell from './TableCell';\nimport { warningOnce } from './utils';\nimport { initDefaultProps, mergeProps, getStyle } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nfunction noop() {}\nconst TableRow = {\n name: 'TableRow',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n customRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n // onHover: PropTypes.func,\n columns: PropTypes.array,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n className: PropTypes.string,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n hasExpandIcon: PropTypes.func,\n hovered: PropTypes.bool.isRequired,\n visible: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n renderExpandIcon: PropTypes.func,\n renderExpandIconCell: PropTypes.func,\n components: PropTypes.any,\n expandedRow: PropTypes.bool,\n isAnyColumnsFixed: PropTypes.bool,\n ancestorKeys: PropTypes.array.isRequired,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // visible: PropTypes.bool,\n // hovered: PropTypes.bool,\n // height: PropTypes.any,\n },\n {\n // expandIconColumnIndex: 0,\n // expandRowByClick: false,\n hasExpandIcon() {},\n renderExpandIcon() {},\n renderExpandIconCell() {},\n },\n ),\n\n data() {\n // this.shouldRender = this.visible\n return {\n shouldRender: this.visible,\n };\n },\n\n mounted() {\n if (this.shouldRender) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n watch: {\n visible(val) {\n if (val) {\n this.shouldRender = true;\n }\n },\n },\n\n updated() {\n if (this.shouldRender && !this.rowRef) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n methods: {\n onRowClick(event) {\n const { record, index } = this;\n this.__emit('rowClick', record, index, event);\n },\n\n onRowDoubleClick(event) {\n const { record, index } = this;\n this.__emit('rowDoubleClick', record, index, event);\n },\n\n onContextMenu(event) {\n const { record, index } = this;\n this.__emit('rowContextmenu', record, index, event);\n },\n\n onMouseEnter(event) {\n const { record, index, rowKey } = this;\n this.__emit('hover', true, rowKey);\n this.__emit('rowMouseenter', record, index, event);\n },\n\n onMouseLeave(event) {\n const { record, index, rowKey } = this;\n this.__emit('hover', false, rowKey);\n this.__emit('rowMouseleave', record, index, event);\n },\n\n setExpanedRowHeight() {\n const { store, rowKey } = this;\n let { expandedRowsHeight } = store.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = {\n ...expandedRowsHeight,\n [rowKey]: height,\n };\n store.setState({ expandedRowsHeight });\n },\n\n setRowHeight() {\n const { store, rowKey } = this;\n const { fixedColumnsBodyRowsHeight } = store.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n store.setState({\n fixedColumnsBodyRowsHeight: {\n ...fixedColumnsBodyRowsHeight,\n [rowKey]: height,\n },\n });\n },\n\n getStyle() {\n const { height, visible } = this;\n let style = getStyle(this);\n if (height) {\n style = { ...style, height };\n }\n\n if (!visible && !style.display) {\n style = { ...style, display: 'none' };\n }\n\n return style;\n },\n\n saveRowRef() {\n this.rowRef = this.$el;\n\n const { isAnyColumnsFixed, fixed, expandedRow, ancestorKeys } = this;\n\n if (!isAnyColumnsFixed) {\n return;\n }\n\n if (!fixed && expandedRow) {\n this.setExpanedRowHeight();\n }\n\n if (!fixed && ancestorKeys.length >= 0) {\n this.setRowHeight();\n }\n },\n },\n\n render() {\n if (!this.shouldRender) {\n return null;\n }\n\n const {\n prefixCls,\n columns,\n record,\n rowKey,\n index,\n customRow = noop,\n indent,\n indentSize,\n hovered,\n height,\n visible,\n components,\n hasExpandIcon,\n renderExpandIcon,\n renderExpandIconCell,\n } = this;\n const BodyRow = components.body.row;\n const BodyCell = components.body.cell;\n\n let className = '';\n\n if (hovered) {\n className += ` ${prefixCls}-hover`;\n }\n\n const cells = [];\n\n renderExpandIconCell(cells);\n\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n\n warningOnce(\n column.onCellClick === undefined,\n 'column[onCellClick] is deprecated, please use column[customCell] instead.',\n );\n\n cells.push(\n <TableCell\n prefixCls={prefixCls}\n record={record}\n indentSize={indentSize}\n indent={indent}\n index={index}\n column={column}\n key={column.key || column.dataIndex}\n expandIcon={hasExpandIcon(i) && renderExpandIcon()}\n component={BodyCell}\n />,\n );\n }\n\n const { class: customClass, className: customClassName, style: customStyle, ...rowProps } =\n customRow(record, index) || {};\n\n let style = { height: typeof height === 'number' ? `${height}px` : height };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = { ...style, ...customStyle };\n const rowClassName = classNames(\n prefixCls,\n className,\n `${prefixCls}-level-${indent}`,\n customClassName,\n customClass,\n );\n const bodyRowProps = mergeProps(\n {\n on: {\n click: this.onRowClick,\n dblclick: this.onRowDoubleClick,\n mouseenter: this.onMouseEnter,\n mouseleave: this.onMouseLeave,\n contextmenu: this.onContextMenu,\n },\n class: rowClassName,\n },\n { ...rowProps, style },\n {\n attrs: {\n 'data-row-key': rowKey,\n },\n },\n );\n return <BodyRow {...bodyRowProps}>{cells}</BodyRow>;\n },\n};\n\nfunction getRowHeight(state, props) {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = state;\n const { fixed, rowKey } = props;\n\n if (!fixed) {\n return null;\n }\n\n if (expandedRowsHeight[rowKey]) {\n return expandedRowsHeight[rowKey];\n }\n\n if (fixedColumnsBodyRowsHeight[rowKey]) {\n return fixedColumnsBodyRowsHeight[rowKey];\n }\n\n return null;\n}\n\nexport default connect((state, props) => {\n const { currentHoverKey, expandedRowKeys } = state;\n const { rowKey, ancestorKeys } = props;\n const visible = ancestorKeys.length === 0 || ancestorKeys.every(k => ~expandedRowKeys.indexOf(k));\n\n return {\n visible,\n hovered: currentHoverKey === rowKey,\n height: getRowHeight(state, props),\n };\n})(TableRow);\n","import warning from 'warning';\n\nlet scrollbarVerticalSize;\nlet scrollbarHorizontalSize;\n\n// Measure scrollbar width for padding body during modal show/hide\nconst scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n};\n\nexport function measureScrollbar(direction = 'vertical') {\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n const isVertical = direction === 'vertical';\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n } else if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n const scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(scrollProp => {\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n });\n // Append related overflow style\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n } else {\n scrollDiv.style.overflowX = 'scroll';\n }\n document.body.appendChild(scrollDiv);\n let size = 0;\n if (isVertical) {\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n scrollbarVerticalSize = size;\n } else if (!isVertical) {\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n scrollbarHorizontalSize = size;\n }\n\n document.body.removeChild(scrollDiv);\n return size;\n}\n\nexport function debounce(func, wait, immediate) {\n let timeout;\n function debounceFunc(...args) {\n const context = this;\n // https://fb.me/react-event-pooling\n if (args[0] && args[0].persist) {\n args[0].persist();\n }\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n }\n debounceFunc.cancel = function cancel() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n return debounceFunc;\n}\n\nconst warned = {};\nexport function warningOnce(condition, format, args) {\n if (!warned[format]) {\n warning(condition, format, args);\n warned[format] = !condition;\n }\n}\n\nexport function remove(array, item) {\n const index = array.indexOf(item);\n const front = array.slice(0, index);\n const last = array.slice(index + 1, array.length);\n return front.concat(last);\n}\n","import PropTypes from '../../_util/vue-types';\nimport { setTransform, isTransformSupported, getLeft, getTop, getActiveIndex } from './utils';\nimport BaseMixin from '../../_util/BaseMixin';\n\nfunction componentDidUpdate(component, init) {\n const { styles = {}, panels, activeKey } = component.$props;\n const rootNode = component.getRef('root');\n const wrapNode = component.getRef('nav') || rootNode;\n const inkBarNode = component.getRef('inkBar');\n const activeTab = component.getRef('activeTab');\n const inkBarNodeStyle = inkBarNode.style;\n const tabBarPosition = component.$props.tabBarPosition;\n const activeIndex = getActiveIndex(panels, activeKey);\n if (init) {\n // prevent mount animation\n inkBarNodeStyle.display = 'none';\n }\n if (activeTab) {\n const tabNode = activeTab;\n const transformSupported = isTransformSupported(inkBarNodeStyle);\n\n // Reset current style\n setTransform(inkBarNodeStyle, '');\n inkBarNodeStyle.width = '';\n inkBarNodeStyle.height = '';\n inkBarNodeStyle.left = '';\n inkBarNodeStyle.top = '';\n inkBarNodeStyle.bottom = '';\n inkBarNodeStyle.right = '';\n\n if (tabBarPosition === 'top' || tabBarPosition === 'bottom') {\n let left = getLeft(tabNode, wrapNode);\n let width = tabNode.offsetWidth;\n // If tabNode'width width equal to wrapNode'width when tabBarPosition is top or bottom\n // It means no css working, then ink bar should not have width until css is loaded\n // Fix https://github.com/ant-design/ant-design/issues/7564\n if (width === rootNode.offsetWidth) {\n width = 0;\n } else if (styles.inkBar && styles.inkBar.width !== undefined) {\n width = parseFloat(styles.inkBar.width, 10);\n if (width) {\n left += (tabNode.offsetWidth - width) / 2;\n }\n }\n // use 3d gpu to optimize render\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(${left}px,0,0)`);\n } else {\n inkBarNodeStyle.left = `${left}px`;\n }\n inkBarNodeStyle.width = `${width}px`;\n } else {\n let top = getTop(tabNode, wrapNode, true);\n let height = tabNode.offsetHeight;\n if (styles.inkBar && styles.inkBar.height !== undefined) {\n height = parseFloat(styles.inkBar.height, 10);\n if (height) {\n top += (tabNode.offsetHeight - height) / 2;\n }\n }\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(0,${top}px,0)`);\n inkBarNodeStyle.top = '0';\n } else {\n inkBarNodeStyle.top = `${top}px`;\n }\n inkBarNodeStyle.height = `${height}px`;\n }\n }\n inkBarNodeStyle.display = activeIndex !== -1 ? 'block' : 'none';\n}\n\nexport default {\n name: 'InkTabBarNode',\n mixins: [BaseMixin],\n props: {\n inkBarAnimated: {\n type: Boolean,\n default: true,\n },\n prefixCls: String,\n styles: Object,\n tabBarPosition: String,\n saveRef: PropTypes.func.def(() => {}),\n getRef: PropTypes.func.def(() => {}),\n panels: PropTypes.array,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n updated() {\n this.$nextTick(function() {\n componentDidUpdate(this);\n });\n },\n\n mounted() {\n this.$nextTick(function() {\n componentDidUpdate(this, true);\n });\n },\n render() {\n const { prefixCls, styles = {}, inkBarAnimated } = this;\n const className = `${prefixCls}-ink-bar`;\n const classes = {\n [className]: true,\n [inkBarAnimated ? `${className}-animated` : `${className}-no-animated`]: true,\n };\n return (\n <div\n style={styles.inkBar}\n class={classes}\n key=\"inkBar\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('inkBar'),\n },\n ],\n }}\n />\n );\n },\n};\n","export default {\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n props: {\n children: PropTypes.func.def(() => null),\n },\n methods: {\n getRef(name) {\n return this[name];\n },\n\n saveRef(name) {\n return node => {\n if (node) {\n this[name] = node;\n }\n };\n },\n },\n\n render() {\n // 每次都new一个新的function,避免子节点不能重新渲染\n const saveRef = name => this.saveRef(name);\n const getRef = name => this.getRef(name);\n return this.children(saveRef, getRef);\n },\n};\n","import InkTabBarNode from './InkTabBarNode';\nimport TabBarTabsNode from './TabBarTabsNode';\nimport TabBarRootNode from './TabBarRootNode';\nimport ScrollableTabBarNode from './ScrollableTabBarNode';\nimport SaveRef from './SaveRef';\n\nexport default {\n name: 'ScrollableInkTabBar',\n inheritAttrs: false,\n props: [\n 'extraContent',\n 'inkBarAnimated',\n 'tabBarGutter',\n 'prefixCls',\n 'navWrapper',\n 'tabBarPosition',\n 'panels',\n 'activeKey',\n 'prevIcon',\n 'nextIcon',\n ],\n render() {\n const props = { ...this.$props };\n const listeners = this.$listeners;\n return (\n <SaveRef\n children={(saveRef, getRef) => (\n <TabBarRootNode saveRef={saveRef} {...{ props, on: listeners }}>\n <ScrollableTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }}>\n <TabBarTabsNode saveRef={saveRef} {...{ props, on: listeners }} />\n <InkTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }} />\n </ScrollableTabBarNode>\n </TabBarRootNode>\n )}\n />\n );\n },\n};\n","import addDOMEventListener from 'add-dom-event-listener';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport { setTransform, isTransformSupported } from './utils';\n\nfunction noop() {}\nexport default {\n name: 'ScrollableTabBarNode',\n mixins: [BaseMixin],\n props: {\n saveRef: PropTypes.func.def(() => {}),\n getRef: PropTypes.func.def(() => {}),\n tabBarPosition: PropTypes.oneOf(['left', 'right', 'top', 'bottom']).def('left'),\n prefixCls: PropTypes.string.def(''),\n scrollAnimated: PropTypes.bool.def(true),\n navWrapper: PropTypes.func.def(arg => arg),\n activeKey: PropTypes.any,\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n },\n\n data() {\n this.offset = 0;\n this.prevProps = { ...this.$props };\n return {\n next: false,\n prev: false,\n };\n },\n watch: {\n tabBarPosition() {\n this.tabBarPositionChange = true;\n this.$nextTick(() => {\n this.setOffset(0);\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n this.updatedCal();\n this.debouncedResize = debounce(() => {\n this.setNextPrev();\n this.scrollToActiveTab();\n }, 200);\n this.resizeEvent = addDOMEventListener(window, 'resize', this.debouncedResize);\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.updatedCal(this.prevProps);\n this.prevProps = { ...this.$props };\n });\n },\n\n beforeDestroy() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedResize && this.debouncedResize.cancel) {\n this.debouncedResize.cancel();\n }\n },\n methods: {\n updatedCal(prevProps) {\n const props = this.$props;\n if (prevProps && prevProps.tabBarPosition !== props.tabBarPosition) {\n this.setOffset(0);\n return;\n }\n // wait next, prev show hide\n /* eslint react/no-did-update-set-state:0 */\n if (this.isNextPrevShown(this.$data) !== this.isNextPrevShown(this.setNextPrev())) {\n this.$forceUpdate();\n this.$nextTick(() => {\n this.scrollToActiveTab();\n });\n } else if (!prevProps || props.activeKey !== prevProps.activeKey) {\n // can not use props.activeKey\n this.scrollToActiveTab();\n }\n },\n setNextPrev() {\n const navNode = this.$props.getRef('nav');\n const navTabsContainer = this.$props.getRef('navTabsContainer');\n const navNodeWH = this.getScrollWH(navTabsContainer || navNode);\n // Add 1px to fix `offsetWidth` with decimal in Chrome not correct handle\n // https://github.com/ant-design/ant-design/issues/13423\n const containerWH = this.getOffsetWH(this.$props.getRef('container')) + 1;\n const navWrapNodeWH = this.getOffsetWH(this.$props.getRef('navWrap'));\n let { offset } = this;\n const minOffset = containerWH - navNodeWH;\n let { next, prev } = this;\n if (minOffset >= 0) {\n next = false;\n this.setOffset(0, false);\n offset = 0;\n } else if (minOffset < offset) {\n next = true;\n } else {\n next = false;\n // Fix https://github.com/ant-design/ant-design/issues/8861\n // Test with container offset which is stable\n // and set the offset of the nav wrap node\n const realOffset = navWrapNodeWH - navNodeWH;\n this.setOffset(realOffset, false);\n offset = realOffset;\n }\n\n if (offset < 0) {\n prev = true;\n } else {\n prev = false;\n }\n\n this.setNext(next);\n this.setPrev(prev);\n return {\n next,\n prev,\n };\n },\n\n getOffsetWH(node) {\n const tabBarPosition = this.$props.tabBarPosition;\n let prop = 'offsetWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'offsetHeight';\n }\n return node[prop];\n },\n\n getScrollWH(node) {\n const tabBarPosition = this.tabBarPosition;\n let prop = 'scrollWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'scrollHeight';\n }\n return node[prop];\n },\n\n getOffsetLT(node) {\n const tabBarPosition = this.$props.tabBarPosition;\n let prop = 'left';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'top';\n }\n return node.getBoundingClientRect()[prop];\n },\n\n setOffset(offset, checkNextPrev = true) {\n const target = Math.min(0, offset);\n if (this.offset !== target) {\n this.offset = target;\n let navOffset = {};\n const tabBarPosition = this.$props.tabBarPosition;\n const navStyle = this.$props.getRef('nav').style;\n const transformSupported = isTransformSupported(navStyle);\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n if (transformSupported) {\n navOffset = {\n value: `translate3d(0,${target}px,0)`,\n };\n } else {\n navOffset = {\n name: 'top',\n value: `${target}px`,\n };\n }\n } else if (transformSupported) {\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\n };\n }\n if (transformSupported) {\n setTransform(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n if (checkNextPrev) {\n this.setNextPrev();\n }\n }\n },\n\n setPrev(v) {\n if (this.prev !== v) {\n this.prev = v;\n }\n },\n\n setNext(v) {\n if (!v) {\n // debugger\n }\n if (this.next !== v) {\n this.next = v;\n }\n },\n\n isNextPrevShown(state) {\n if (state) {\n return state.next || state.prev;\n }\n return this.next || this.prev;\n },\n\n prevTransitionEnd(e) {\n if (e.propertyName !== 'opacity') {\n return;\n }\n const container = this.$props.getRef('container');\n this.scrollToActiveTab({\n target: container,\n currentTarget: container,\n });\n },\n\n scrollToActiveTab(e) {\n const activeTab = this.$props.getRef('activeTab');\n const navWrap = this.$props.getRef('navWrap');\n if ((e && e.target !== e.currentTarget) || !activeTab) {\n return;\n }\n\n // when not scrollable or enter scrollable first time, don't emit scrolling\n const needToSroll = this.isNextPrevShown() && this.lastNextPrevShown;\n this.lastNextPrevShown = this.isNextPrevShown();\n if (!needToSroll) {\n return;\n }\n\n const activeTabWH = this.getScrollWH(activeTab);\n const navWrapNodeWH = this.getOffsetWH(navWrap);\n let { offset } = this;\n const wrapOffset = this.getOffsetLT(navWrap);\n const activeTabOffset = this.getOffsetLT(activeTab);\n if (wrapOffset > activeTabOffset) {\n offset += wrapOffset - activeTabOffset;\n this.setOffset(offset);\n } else if (wrapOffset + navWrapNodeWH < activeTabOffset + activeTabWH) {\n offset -= activeTabOffset + activeTabWH - (wrapOffset + navWrapNodeWH);\n this.setOffset(offset);\n }\n },\n\n prevClick(e) {\n this.__emit('prevClick', e);\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset + navWrapNodeWH);\n },\n\n nextClick() {\n // this.__emit('nextClick', e)\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset - navWrapNodeWH);\n },\n },\n render() {\n const { next, prev } = this;\n const { prefixCls, scrollAnimated, navWrapper } = this.$props;\n const prevIcon = getComponentFromProp(this, 'prevIcon');\n const nextIcon = getComponentFromProp(this, 'nextIcon');\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? this.prevClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-prev`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !prev,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n onTransitionend={this.prevTransitionEnd}\n >\n {prevIcon || <span class={`${prefixCls}-tab-prev-icon`} />}\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? this.nextClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-next`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !next,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n >\n {nextIcon || <span class={`${prefixCls}-tab-next-icon`} />}\n </span>\n );\n\n const navClassName = `${prefixCls}-nav`;\n const navClasses = {\n [navClassName]: true,\n [scrollAnimated ? `${navClassName}-animated` : `${navClassName}-no-animated`]: true,\n };\n\n return (\n <div\n class={{\n [`${prefixCls}-nav-container`]: 1,\n [`${prefixCls}-nav-container-scrolling`]: showNextPrev,\n }}\n key=\"container\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('container'),\n },\n ],\n }}\n >\n {prevButton}\n {nextButton}\n <div\n class={`${prefixCls}-nav-wrap`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navWrap'),\n },\n ],\n }}\n >\n <div class={`${prefixCls}-nav-scroll`}>\n <div\n class={navClasses}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('nav'),\n },\n ],\n }}\n >\n {navWrapper(this.$slots.default)}\n </div>\n </div>\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nconst sentinelStyle = { width: 0, height: 0, overflow: 'hidden', position: 'absolute' };\nexport default {\n name: 'Sentinel',\n props: {\n setRef: PropTypes.func,\n prevElement: PropTypes.any,\n nextElement: PropTypes.any,\n },\n methods: {\n onKeyDown({ target, which, shiftKey }) {\n const { nextElement, prevElement } = this.$props;\n if (which !== KeyCode.TAB || document.activeElement !== target) return;\n\n // Tab next\n if (!shiftKey && nextElement) {\n nextElement.focus();\n }\n\n // Tab prev\n if (shiftKey && prevElement) {\n prevElement.focus();\n }\n },\n },\n render() {\n const { setRef } = this.$props;\n\n return (\n <div\n tabIndex={0}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: setRef,\n },\n ],\n }}\n style={sentinelStyle}\n onKeydown={this.onKeyDown}\n role=\"presentation\"\n >\n {this.$slots.default}\n </div>\n );\n },\n};\n","import { cloneElement } from '../../_util/vnode';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nfunction noop() {}\nexport default {\n name: 'TabBarRootNode',\n mixins: [BaseMixin],\n props: {\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n prefixCls: PropTypes.string.def(''),\n tabBarPosition: PropTypes.string.def('top'),\n extraContent: PropTypes.any,\n },\n methods: {\n onKeyDown(e) {\n this.__emit('keydown', e);\n },\n },\n render() {\n const { prefixCls, onKeyDown, tabBarPosition, extraContent } = this;\n const cls = {\n [`${prefixCls}-bar`]: true,\n };\n const topOrBottom = tabBarPosition === 'top' || tabBarPosition === 'bottom';\n const tabBarExtraContentStyle = topOrBottom ? { float: 'right' } : {};\n const children = this.$slots.default;\n let newChildren = children;\n if (extraContent) {\n newChildren = [\n cloneElement(extraContent, {\n key: 'extra',\n style: {\n ...tabBarExtraContentStyle,\n },\n }),\n cloneElement(children, { key: 'content' }),\n ];\n newChildren = topOrBottom ? newChildren : newChildren.reverse();\n }\n\n return (\n <div\n role=\"tablist\"\n class={cls}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('root'),\n },\n ],\n }}\n >\n {newChildren}\n </div>\n );\n },\n};\n","import warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp } from '../../_util/props-util';\nimport { isVertical } from './utils';\nfunction noop() {}\nexport default {\n name: 'TabBarTabsNode',\n mixins: [BaseMixin],\n props: {\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n panels: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def(''),\n tabBarGutter: PropTypes.any.def(null),\n onTabClick: PropTypes.func,\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n tabBarPosition: PropTypes.string,\n },\n render() {\n const {\n panels: children,\n activeKey,\n prefixCls,\n tabBarGutter,\n saveRef,\n tabBarPosition,\n } = this.$props;\n const rst = [];\n\n children.forEach((child, index) => {\n if (!child) {\n return;\n }\n const props = getOptionProps(child);\n const key = child.key;\n let cls = activeKey === key ? `${prefixCls}-tab-active` : '';\n cls += ` ${prefixCls}-tab`;\n const events = { on: {} };\n const disabled = props.disabled || props.disabled === '';\n if (disabled) {\n cls += ` ${prefixCls}-tab-disabled`;\n } else {\n events.on.click = () => {\n this.__emit('tabClick', key);\n };\n }\n const directives = [];\n if (activeKey === key) {\n directives.push({\n name: 'ant-ref',\n value: saveRef('activeTab'),\n });\n }\n const tab = getComponentFromProp(child, 'tab');\n let gutter = tabBarGutter && index === children.length - 1 ? 0 : tabBarGutter;\n gutter = typeof gutter === 'number' ? `${gutter}px` : gutter;\n const style = {\n [isVertical(tabBarPosition) ? 'marginBottom' : 'marginRight']: gutter,\n };\n warning(tab !== undefined, 'There must be `tab` property or slot on children of Tabs.');\n rst.push(\n <div\n role=\"tab\"\n aria-disabled={disabled ? 'true' : 'false'}\n aria-selected={activeKey === key ? 'true' : 'false'}\n {...events}\n class={cls}\n key={key}\n style={style}\n {...{ directives: directives }}\n >\n {tab}\n </div>,\n );\n });\n\n return (\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navTabsContainer'),\n },\n ],\n }}\n >\n {rst}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { cloneElement } from '../../_util/vnode';\nimport {\n getTransformByIndex,\n getActiveIndex,\n getTransformPropValue,\n getMarginStyle,\n} from './utils';\nexport default {\n name: 'TabContent',\n props: {\n animated: { type: Boolean, default: true },\n animatedWithMargin: { type: Boolean, default: true },\n prefixCls: {\n default: 'ant-tabs',\n type: String,\n },\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarPosition: String,\n },\n computed: {\n classes() {\n const { animated, prefixCls } = this;\n return {\n [`${prefixCls}-content`]: true,\n [animated ? `${prefixCls}-content-animated` : `${prefixCls}-content-no-animated`]: true,\n };\n },\n },\n methods: {\n getTabPanes() {\n const props = this.$props;\n const activeKey = props.activeKey;\n const children = this.$slots.default || [];\n const newChildren = [];\n\n children.forEach(child => {\n if (!child) {\n return;\n }\n const key = child.key;\n const active = activeKey === key;\n newChildren.push(\n cloneElement(child, {\n props: {\n active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls,\n },\n }),\n );\n });\n\n return newChildren;\n },\n },\n render() {\n const { activeKey, tabBarPosition, animated, animatedWithMargin, classes } = this;\n let style = {};\n if (animated && this.$slots.default) {\n const activeIndex = getActiveIndex(this.$slots.default, activeKey);\n if (activeIndex !== -1) {\n const animatedStyle = animatedWithMargin\n ? getMarginStyle(activeIndex, tabBarPosition)\n : getTransformPropValue(getTransformByIndex(activeIndex, tabBarPosition));\n style = animatedStyle;\n } else {\n style = {\n display: 'none',\n };\n }\n }\n return (\n <div class={classes} style={style}>\n {this.getTabPanes()}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport Sentinel from './Sentinel';\n\nexport default {\n name: 'TabPane',\n props: {\n active: PropTypes.bool,\n destroyInactiveTabPane: PropTypes.bool,\n forceRender: PropTypes.bool,\n placeholder: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n tab: PropTypes.any,\n closable: PropTypes.bool,\n disabled: PropTypes.bool,\n },\n inject: {\n sentinelContext: { default: () => ({}) },\n },\n render() {\n const { destroyInactiveTabPane, active, forceRender, rootPrefixCls } = this.$props;\n const children = this.$slots.default;\n const placeholder = getComponentFromProp(this, 'placeholder');\n this._isActived = this._isActived || active;\n const prefixCls = `${rootPrefixCls}-tabpane`;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-inactive`]: !active,\n [`${prefixCls}-active`]: active,\n };\n const isRender = destroyInactiveTabPane ? active : this._isActived;\n const shouldRender = isRender || forceRender;\n const {\n sentinelStart,\n sentinelEnd,\n setPanelSentinelStart,\n setPanelSentinelEnd,\n } = this.sentinelContext;\n let panelSentinelStart;\n let panelSentinelEnd;\n if (active && shouldRender) {\n panelSentinelStart = <Sentinel setRef={setPanelSentinelStart} prevElement={sentinelStart} />;\n panelSentinelEnd = <Sentinel setRef={setPanelSentinelEnd} nextElement={sentinelEnd} />;\n }\n return (\n <div class={cls} role=\"tabpanel\" aria-hidden={active ? 'false' : 'true'}>\n {panelSentinelStart}\n {shouldRender ? children : placeholder}\n {panelSentinelEnd}\n </div>\n );\n },\n};\n","import omit from 'omit.js';\nimport BaseMixin from '../../_util/BaseMixin';\nimport PropTypes from '../../_util/vue-types';\nimport raf from 'raf';\nimport KeyCode from './KeyCode';\nimport { getOptionProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport Sentinel from './Sentinel';\n\nfunction getDefaultActiveKey(props) {\n let activeKey;\n const children = props.children;\n children.forEach(child => {\n if (child && !activeKey && !child.disabled) {\n activeKey = child.key;\n }\n });\n return activeKey;\n}\n\nfunction activeKeyIsValid(props, key) {\n const children = props.children;\n const keys = children.map(child => child && child.key);\n return keys.indexOf(key) >= 0;\n}\n\nexport default {\n name: 'Tabs',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n destroyInactiveTabPane: PropTypes.bool,\n renderTabBar: PropTypes.func.isRequired,\n renderTabContent: PropTypes.func.isRequired,\n navWrapper: PropTypes.func.def(arg => arg),\n children: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def('ant-tabs'),\n tabBarPosition: PropTypes.string.def('top'),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n __propsSymbol__: PropTypes.any,\n },\n data() {\n const props = getOptionProps(this);\n let activeKey;\n if ('activeKey' in props) {\n activeKey = props.activeKey;\n } else if ('defaultActiveKey' in props) {\n activeKey = props.defaultActiveKey;\n } else {\n activeKey = getDefaultActiveKey(props);\n }\n return {\n _activeKey: activeKey,\n };\n },\n provide() {\n return {\n sentinelContext: this,\n };\n },\n watch: {\n __propsSymbol__() {\n const nextProps = getOptionProps(this);\n if ('activeKey' in nextProps) {\n this.setState({\n _activeKey: nextProps.activeKey,\n });\n } else if (!activeKeyIsValid(nextProps, this.$data._activeKey)) {\n // https://github.com/ant-design/ant-design/issues/7093\n this.setState({\n _activeKey: getDefaultActiveKey(nextProps),\n });\n }\n },\n },\n beforeDestroy() {\n this.destroy = true;\n raf.cancel(this.sentinelId);\n },\n methods: {\n onTabClick(activeKey, e) {\n if (\n this.tabBar.componentOptions &&\n this.tabBar.componentOptions.listeners &&\n this.tabBar.componentOptions.listeners.tabClick\n ) {\n this.tabBar.componentOptions.listeners.tabClick(activeKey, e);\n }\n this.setActiveKey(activeKey);\n },\n\n onNavKeyDown(e) {\n const eventKeyCode = e.keyCode;\n if (eventKeyCode === KeyCode.RIGHT || eventKeyCode === KeyCode.DOWN) {\n e.preventDefault();\n const nextKey = this.getNextActiveKey(true);\n this.onTabClick(nextKey);\n } else if (eventKeyCode === KeyCode.LEFT || eventKeyCode === KeyCode.UP) {\n e.preventDefault();\n const previousKey = this.getNextActiveKey(false);\n this.onTabClick(previousKey);\n }\n },\n\n onScroll({ target, currentTarget }) {\n if (target === currentTarget && target.scrollLeft > 0) {\n target.scrollLeft = 0;\n }\n },\n\n // Sentinel for tab index\n setSentinelStart(node) {\n this.sentinelStart = node;\n },\n\n setSentinelEnd(node) {\n this.sentinelEnd = node;\n },\n\n setPanelSentinelStart(node) {\n if (node !== this.panelSentinelStart) {\n this.updateSentinelContext();\n }\n this.panelSentinelStart = node;\n },\n\n setPanelSentinelEnd(node) {\n if (node !== this.panelSentinelEnd) {\n this.updateSentinelContext();\n }\n this.panelSentinelEnd = node;\n },\n\n setActiveKey(activeKey) {\n if (this.$data._activeKey !== activeKey) {\n const props = getOptionProps(this);\n if (!('activeKey' in props)) {\n this.setState({\n _activeKey: activeKey,\n });\n }\n this.__emit('change', activeKey);\n }\n },\n\n getNextActiveKey(next) {\n const activeKey = this.$data._activeKey;\n const children = [];\n this.$props.children.forEach(c => {\n if (c && !c.disabled && c.disabled !== '') {\n if (next) {\n children.push(c);\n } else {\n children.unshift(c);\n }\n }\n });\n const length = children.length;\n let ret = length && children[0].key;\n children.forEach((child, i) => {\n if (child.key === activeKey) {\n if (i === length - 1) {\n ret = children[0].key;\n } else {\n ret = children[i + 1].key;\n }\n }\n });\n return ret;\n },\n updateSentinelContext() {\n if (this.destroy) return;\n\n raf.cancel(this.sentinelId);\n this.sentinelId = raf(() => {\n this.$forceUpdate();\n });\n },\n },\n render() {\n const props = this.$props;\n const {\n prefixCls,\n navWrapper,\n tabBarPosition,\n renderTabContent,\n renderTabBar,\n destroyInactiveTabPane,\n } = props;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-${tabBarPosition}`]: 1,\n };\n\n this.tabBar = renderTabBar();\n const tabBar = cloneElement(this.tabBar, {\n props: {\n prefixCls,\n navWrapper,\n tabBarPosition,\n panels: props.children,\n activeKey: this.$data._activeKey,\n },\n on: {\n keydown: this.onNavKeyDown,\n tabClick: this.onTabClick,\n },\n key: 'tabBar',\n });\n const tabContent = cloneElement(renderTabContent(), {\n props: {\n prefixCls,\n tabBarPosition,\n activeKey: this.$data._activeKey,\n destroyInactiveTabPane,\n },\n on: {\n change: this.setActiveKey,\n },\n children: props.children,\n key: 'tabContent',\n });\n\n const sentinelStart = (\n <Sentinel\n key=\"sentinelStart\"\n setRef={this.setSentinelStart}\n nextElement={this.panelSentinelStart}\n />\n );\n const sentinelEnd = (\n <Sentinel\n key=\"sentinelEnd\"\n setRef={this.setSentinelEnd}\n prevElement={this.panelSentinelEnd}\n />\n );\n\n const contents = [];\n\n if (tabBarPosition === 'bottom') {\n contents.push(sentinelStart, tabContent, sentinelEnd, tabBar);\n } else {\n contents.push(tabBar, sentinelStart, tabContent, sentinelEnd);\n }\n const listeners = {\n ...omit(this.$listeners, ['change']),\n scroll: this.onScroll,\n };\n return <div {...{ on: listeners, class: cls }}>{contents}</div>;\n },\n};\n","// based on rc-tabs 9.5.8\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './Tabs';\nimport TabPane from './TabPane';\nimport TabContent from './TabContent';\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","export function toArray(children) {\n const c = [];\n children.forEach(child => {\n if (child.data) {\n c.push(child);\n }\n });\n return c;\n}\n\nexport function getActiveIndex(children, activeKey) {\n const c = toArray(children);\n for (let i = 0; i < c.length; i++) {\n if (c[i].key === activeKey) {\n return i;\n }\n }\n return -1;\n}\n\nexport function getActiveKey(children, index) {\n const c = toArray(children);\n return c[index].key;\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nexport function isTransformSupported(style) {\n return 'transform' in style || 'webkitTransform' in style || 'MozTransform' in style;\n}\n\nexport function setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\n}\nexport function getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v,\n };\n}\n\nexport function isVertical(tabBarPosition) {\n return tabBarPosition === 'left' || tabBarPosition === 'right';\n}\n\nexport function getTransformByIndex(index, tabBarPosition) {\n const translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n return `${translate}(${-index * 100}%) translateZ(0)`;\n}\n\nexport function getMarginStyle(index, tabBarPosition) {\n const marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';\n return {\n [marginDirection]: `${-index * 100}%`,\n };\n}\n\nexport function getStyle(el, property) {\n return +window\n .getComputedStyle(el)\n .getPropertyValue(property)\n .replace('px', '');\n}\n\nexport function setPxStyle(el, value, vertical) {\n value = vertical ? `0px, ${value}px, 0px` : `${value}px, 0px, 0px`;\n setTransform(el.style, `translate3d(${value})`);\n}\n\nexport function getDataAttr(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n\nfunction toNum(style, property) {\n return +style.getPropertyValue(property).replace('px', '');\n}\n\nfunction getTypeValue(start, current, end, tabNode, wrapperNode) {\n let total = getStyle(wrapperNode, `padding-${start}`);\n if (!tabNode || !tabNode.parentNode) {\n return total;\n }\n\n const { childNodes } = tabNode.parentNode;\n Array.prototype.some.call(childNodes, node => {\n const style = window.getComputedStyle(node);\n if (node !== tabNode) {\n total += toNum(style, `margin-${start}`);\n total += node[current];\n total += toNum(style, `margin-${end}`);\n\n if (style.boxSizing === 'content-box') {\n total += toNum(style, `border-${start}-width`) + toNum(style, `border-${end}-width`);\n }\n return false;\n }\n\n // We need count current node margin\n // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262\n total += toNum(style, `margin-${start}`);\n\n return true;\n });\n\n return total;\n}\n\nexport function getLeft(tabNode, wrapperNode) {\n return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);\n}\n\nexport function getTop(tabNode, wrapperNode) {\n return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);\n}\n","import PropTypes from '../_util/vue-types';\nimport Select from './Select';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst formatOption = (option, disabledOptions) => {\n let value = `${option}`;\n if (option < 10) {\n value = `0${option}`;\n }\n\n let disabled = false;\n if (disabledOptions && disabledOptions.indexOf(option) >= 0) {\n disabled = true;\n }\n\n return {\n value,\n disabled,\n };\n};\n\nconst Combobox = {\n mixins: [BaseMixin],\n name: 'Combobox',\n props: {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onChange: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onCurrentSelectPanelChange: PropTypes.func,\n use12Hours: PropTypes.bool,\n isAM: PropTypes.bool,\n },\n methods: {\n onItemChange(type, itemValue) {\n const { defaultOpenValue, use12Hours, isAM } = this;\n const value = (this.value || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (isAM) {\n value.hour(+itemValue % 12);\n } else {\n value.hour((+itemValue % 12) + 12);\n }\n } else {\n value.hour(+itemValue);\n }\n } else if (type === 'minute') {\n value.minute(+itemValue);\n } else if (type === 'ampm') {\n const ampm = itemValue.toUpperCase();\n if (use12Hours) {\n if (ampm === 'PM' && value.hour() < 12) {\n value.hour((value.hour() % 12) + 12);\n }\n\n if (ampm === 'AM') {\n if (value.hour() >= 12) {\n value.hour(value.hour() - 12);\n }\n }\n }\n } else {\n value.second(+itemValue);\n }\n this.__emit('change', value);\n },\n\n onEnterSelectPanel(range) {\n this.__emit('currentSelectPanelChange', range);\n },\n\n getHourSelect(hour) {\n const { prefixCls, hourOptions, disabledHours, showHour, use12Hours } = this;\n if (!showHour) {\n return null;\n }\n const disabledOptions = disabledHours();\n let hourOptionsAdj;\n let hourAdj;\n if (use12Hours) {\n hourOptionsAdj = [12].concat(hourOptions.filter(h => h < 12 && h > 0));\n hourAdj = hour % 12 || 12;\n } else {\n hourOptionsAdj = hourOptions;\n hourAdj = hour;\n }\n\n return (\n <Select\n prefixCls={prefixCls}\n options={hourOptionsAdj.map(option => formatOption(option, disabledOptions))}\n selectedIndex={hourOptionsAdj.indexOf(hourAdj)}\n type=\"hour\"\n onSelect={this.onItemChange}\n onMouseenter={this.onEnterSelectPanel.bind(this, 'hour')}\n />\n );\n },\n\n getMinuteSelect(minute) {\n const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue, showMinute } = this;\n if (!showMinute) {\n return null;\n }\n const value = this.value || defaultOpenValue;\n const disabledOptions = disabledMinutes(value.hour());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={minuteOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={minuteOptions.indexOf(minute)}\n type=\"minute\"\n onSelect={this.onItemChange}\n onMouseenter={this.onEnterSelectPanel.bind(this, 'minute')}\n />\n );\n },\n\n getSecondSelect(second) {\n const { prefixCls, secondOptions, disabledSeconds, showSecond, defaultOpenValue } = this;\n if (!showSecond) {\n return null;\n }\n const value = this.value || defaultOpenValue;\n const disabledOptions = disabledSeconds(value.hour(), value.minute());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={secondOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={secondOptions.indexOf(second)}\n type=\"second\"\n onSelect={this.onItemChange}\n onMouseenter={this.onEnterSelectPanel.bind(this, 'second')}\n />\n );\n },\n\n getAMPMSelect() {\n const { prefixCls, use12Hours, format, isAM } = this;\n if (!use12Hours) {\n return null;\n }\n\n const AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM\n .map(c => (format.match(/\\sA/) ? c.toUpperCase() : c))\n .map(c => ({ value: c }));\n\n const selected = isAM ? 0 : 1;\n\n return (\n <Select\n prefixCls={prefixCls}\n options={AMPMOptions}\n selectedIndex={selected}\n type=\"ampm\"\n onSelect={this.onItemChange}\n onMouseenter={this.onEnterSelectPanel.bind(this, 'ampm')}\n />\n );\n },\n },\n\n render() {\n const { prefixCls, defaultOpenValue } = this;\n const value = this.value || defaultOpenValue;\n return (\n <div class={`${prefixCls}-combobox`}>\n {this.getHourSelect(value.hour())}\n {this.getMinuteSelect(value.minute())}\n {this.getSecondSelect(value.second())}\n {this.getAMPMSelect(value.hour())}\n </div>\n );\n },\n};\n\nexport default Combobox;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport moment from 'moment';\nimport { getComponentFromProp } from '../_util/props-util';\n\nconst Header = {\n mixins: [BaseMixin],\n props: {\n format: PropTypes.string,\n prefixCls: PropTypes.string,\n disabledDate: PropTypes.func,\n placeholder: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n inputReadOnly: PropTypes.bool.def(false),\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onChange: PropTypes.func,\n // onClear: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n defaultOpenValue: PropTypes.object,\n currentSelectPanel: PropTypes.string,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n showStr: PropTypes.bool.def(true),\n clearIcon: PropTypes.any,\n },\n data() {\n const { value, format } = this;\n return {\n str: (value && value.format(format)) || '',\n invalid: false,\n };\n },\n\n mounted() {\n if (this.focusOnOpen) {\n // Wait one frame for the panel to be positioned before focusing\n const requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(() => {\n this.$refs.input.focus();\n this.$refs.input.select();\n });\n }\n },\n watch: {\n $props: {\n handler: function(nextProps) {\n const { value, format } = nextProps;\n this.setState({\n str: (value && value.format(format)) || '',\n invalid: false,\n });\n },\n deep: true,\n },\n },\n\n methods: {\n onInputChange(event) {\n const str = event.target.value;\n this.showStr = true;\n this.setState({\n str,\n });\n const {\n format,\n hourOptions,\n minuteOptions,\n secondOptions,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n allowEmpty,\n value: originalValue,\n } = this;\n\n if (str) {\n const value = this.getProtoValue().clone();\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n });\n return;\n }\n value\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n // if time value not allowed, response warning.\n if (\n hourOptions.indexOf(value.hour()) < 0 ||\n minuteOptions.indexOf(value.minute()) < 0 ||\n secondOptions.indexOf(value.second()) < 0\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n // if time value is disabled, response warning.\n const disabledHourOptions = disabledHours();\n const disabledMinuteOptions = disabledMinutes(value.hour());\n const disabledSecondOptions = disabledSeconds(value.hour(), value.minute());\n if (\n (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0) ||\n (disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0) ||\n (disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0)\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n if (originalValue) {\n if (\n originalValue.hour() !== value.hour() ||\n originalValue.minute() !== value.minute() ||\n originalValue.second() !== value.second()\n ) {\n // keep other fields for rc-calendar\n const changedValue = originalValue.clone();\n changedValue.hour(value.hour());\n changedValue.minute(value.minute());\n changedValue.second(value.second());\n this.__emit('change', changedValue);\n }\n } else if (originalValue !== value) {\n this.__emit('change', value);\n }\n } else if (allowEmpty) {\n this.__emit('change', null);\n } else {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n this.setState({\n invalid: false,\n });\n },\n\n onKeyDown(e) {\n if (e.keyCode === 27) {\n this.__emit('esc');\n }\n this.__emit('keydown', e);\n },\n\n onClear() {\n this.__emit('clear');\n this.setState({ str: '' });\n },\n\n getClearButton() {\n const { prefixCls, allowEmpty, clearText } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n if (!allowEmpty) {\n return null;\n }\n return (\n <a\n role=\"button\"\n class={`${prefixCls}-clear-btn`}\n title={clearText}\n onMousedown={this.onClear}\n >\n {clearIcon || <i class={`${prefixCls}-clear-btn-icon`} />}\n </a>\n );\n },\n\n getProtoValue() {\n return this.value || this.defaultOpenValue;\n },\n\n getInput() {\n const { prefixCls, placeholder, inputReadOnly, invalid, str, showStr } = this;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <input\n class={`${prefixCls}-input ${invalidClass}`}\n ref=\"input\"\n onKeydown={this.onKeyDown}\n value={showStr ? str : ''}\n placeholder={placeholder}\n onInput={this.onInputChange}\n readOnly={!!inputReadOnly}\n />\n );\n },\n },\n\n render() {\n const { prefixCls } = this;\n return (\n <div class={`${prefixCls}-input-wrap`}>\n {this.getInput()}\n {this.getClearButton()}\n </div>\n );\n },\n};\n\nexport default Header;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Header from './Header';\nimport Combobox from './Combobox';\nimport moment from 'moment';\nimport { getComponentFromProp } from '../_util/props-util';\n\nfunction noop() {}\n\nfunction generateOptions(length, disabledOptions, hideDisabledOptions, step = 1) {\n const arr = [];\n for (let value = 0; value < length; value += step) {\n if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {\n arr.push(value);\n }\n }\n return arr;\n}\nconst Panel = {\n mixins: [BaseMixin],\n props: {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-time-picker-panel'),\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool.def(false),\n disabledHours: PropTypes.func.def(noop),\n disabledMinutes: PropTypes.func.def(noop),\n disabledSeconds: PropTypes.func.def(noop),\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n // onClear: PropTypes.func,\n use12Hours: PropTypes.bool.def(false),\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func.def(noop),\n focusOnOpen: PropTypes.bool,\n // onKeydown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n return {\n sValue: this.value,\n selectionRange: [],\n currentSelectPanel: '',\n showStr: true,\n };\n },\n watch: {\n value(val) {\n if (val) {\n this.setState({\n sValue: val,\n showStr: true,\n });\n } else {\n this.setState({\n showStr: false,\n });\n }\n },\n },\n\n methods: {\n onChange(newValue) {\n this.setState({ sValue: newValue });\n this.__emit('change', newValue);\n },\n\n onCurrentSelectPanelChange(currentSelectPanel) {\n this.setState({ currentSelectPanel });\n },\n\n // https://github.com/ant-design/ant-design/issues/5829\n close() {\n this.__emit('esc');\n },\n\n disabledHours2() {\n const { use12Hours, disabledHours } = this;\n let disabledOptions = disabledHours();\n if (use12Hours && Array.isArray(disabledOptions)) {\n if (this.isAM()) {\n disabledOptions = disabledOptions.filter(h => h < 12).map(h => (h === 0 ? 12 : h));\n } else {\n disabledOptions = disabledOptions.map(h => (h === 12 ? 12 : h - 12));\n }\n }\n return disabledOptions;\n },\n\n isAM() {\n const value = this.sValue || this.defaultOpenValue;\n return value.hour() >= 0 && value.hour() < 12;\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n disabledMinutes,\n addon,\n disabledSeconds,\n hideDisabledOptions,\n allowEmpty,\n showHour,\n showMinute,\n showSecond,\n format,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n hourStep,\n minuteStep,\n secondStep,\n inputReadOnly,\n sValue,\n currentSelectPanel,\n showStr,\n $listeners = {},\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { esc = noop, clear = noop, keydown = noop } = $listeners;\n\n const disabledHourOptions = this.disabledHours2();\n const disabledMinuteOptions = disabledMinutes(sValue ? sValue.hour() : null);\n const disabledSecondOptions = disabledSeconds(\n sValue ? sValue.hour() : null,\n sValue ? sValue.minute() : null,\n );\n const hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);\n const minuteOptions = generateOptions(\n 60,\n disabledMinuteOptions,\n hideDisabledOptions,\n minuteStep,\n );\n const secondOptions = generateOptions(\n 60,\n disabledSecondOptions,\n hideDisabledOptions,\n secondStep,\n );\n\n return (\n <div class={`${prefixCls}-inner`}>\n <Header\n clearText={clearText}\n prefixCls={prefixCls}\n defaultOpenValue={defaultOpenValue}\n value={sValue}\n currentSelectPanel={currentSelectPanel}\n onEsc={esc}\n format={format}\n placeholder={placeholder}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onChange={this.onChange}\n onClear={clear}\n allowEmpty={allowEmpty}\n focusOnOpen={focusOnOpen}\n onKeydown={keydown}\n inputReadOnly={inputReadOnly}\n showStr={showStr}\n clearIcon={clearIcon}\n />\n <Combobox\n prefixCls={prefixCls}\n value={sValue}\n defaultOpenValue={defaultOpenValue}\n format={format}\n onChange={this.onChange}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onCurrentSelectPanelChange={this.onCurrentSelectPanelChange}\n use12Hours={use12Hours}\n isAM={this.isAM()}\n />\n {addon(this)}\n </div>\n );\n },\n};\n\nexport default Panel;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport classnames from 'classnames';\nfunction noop() {}\nconst scrollTo = (element, to, duration) => {\n const requestAnimationFrame =\n window.requestAnimationFrame ||\n function requestAnimationFrameTimeout() {\n return setTimeout(arguments[0], 10);\n };\n // jump to target if duration zero\n if (duration <= 0) {\n element.scrollTop = to;\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n requestAnimationFrame(() => {\n element.scrollTop = element.scrollTop + perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nconst Select = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.array,\n selectedIndex: PropTypes.number,\n type: PropTypes.string,\n // onSelect: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n },\n data() {\n return {\n active: false,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // jump to selected option\n this.scrollToSelected(0);\n });\n },\n watch: {\n selectedIndex() {\n this.$nextTick(() => {\n // smooth scroll to selected option\n this.scrollToSelected(120);\n });\n },\n },\n methods: {\n onSelect(value) {\n const { type } = this;\n this.__emit('select', type, value);\n },\n\n getOptions() {\n const { options, selectedIndex, prefixCls } = this;\n return options.map((item, index) => {\n const cls = classnames({\n [`${prefixCls}-select-option-selected`]: selectedIndex === index,\n [`${prefixCls}-select-option-disabled`]: item.disabled,\n });\n let onClick = noop;\n if (!item.disabled) {\n onClick = this.onSelect.bind(this, item.value);\n }\n return (\n <li class={cls} key={index} onClick={onClick} disabled={item.disabled}>\n {item.value}\n </li>\n );\n });\n },\n\n scrollToSelected(duration) {\n // move to selected item\n const select = this.$el;\n const list = this.$refs.list;\n if (!list) {\n return;\n }\n let index = this.selectedIndex;\n if (index < 0) {\n index = 0;\n }\n const topOption = list.children[index];\n const to = topOption.offsetTop;\n scrollTo(select, to, duration);\n },\n\n handleMouseEnter(e) {\n this.setState({ active: true });\n this.__emit('mouseenter', e);\n },\n\n handleMouseLeave() {\n this.setState({ active: false });\n },\n },\n\n render() {\n if (this.options.length === 0) {\n return null;\n }\n\n const { prefixCls } = this;\n const cls = {\n [`${prefixCls}-select`]: 1,\n [`${prefixCls}-select-active`]: this.active,\n };\n\n return (\n <div class={cls} onMouseenter={this.handleMouseEnter} onMouseleave={this.handleMouseLeave}>\n <ul ref=\"list\">{this.getOptions()}</ul>\n </div>\n );\n },\n};\n\nexport default Select;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Trigger from '../vc-trigger';\nimport Panel from './Panel';\nimport placements from './placements';\nimport moment from 'moment';\nimport { initDefaultProps, hasProp, getComponentFromProp } from '../_util/props-util';\n\nfunction noop() {}\n\nexport default {\n name: 'VcTimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.any,\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n popupClassName: PropTypes.string,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onOpen: PropTypes.func,\n // onClose: PropTypes.func,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n name: PropTypes.string,\n autoComplete: PropTypes.string,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n id: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n addon: PropTypes.func,\n },\n {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n popupClassName: '',\n align: {},\n id: '',\n allowEmpty: true,\n showHour: true,\n showMinute: true,\n showSecond: true,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n use12Hours: false,\n focusOnOpen: false,\n },\n ),\n data() {\n const { defaultOpen, defaultValue, open = defaultOpen, value = defaultValue } = this;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n if (val !== undefined) {\n this.setState({\n sOpen: val,\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onPanelChange(value) {\n this.setValue(value);\n },\n\n onPanelClear() {\n this.setValue(null);\n this.setOpen(false);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n onEsc() {\n this.setOpen(false);\n this.focus();\n },\n\n onKeyDown(e) {\n if (e.keyCode === 40) {\n this.setOpen(true);\n }\n },\n onKeyDown2(e) {\n this.__emit('keydown', e);\n },\n\n setValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('change', value);\n },\n\n getFormat() {\n const { format, showHour, showMinute, showSecond, use12Hours } = this;\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n const fmtString = [showHour ? 'h' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n\n return fmtString.concat(' a');\n }\n\n return [showHour ? 'HH' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n },\n\n getPanelElement() {\n const {\n prefixCls,\n placeholder,\n disabledHours,\n addon,\n disabledMinutes,\n disabledSeconds,\n hideDisabledOptions,\n inputReadOnly,\n allowEmpty,\n showHour,\n showMinute,\n showSecond,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n onKeyDown2,\n hourStep,\n minuteStep,\n secondStep,\n sValue,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <Panel\n clearText={clearText}\n prefixCls={`${prefixCls}-panel`}\n ref=\"panel\"\n value={sValue}\n inputReadOnly={inputReadOnly}\n onChange={this.onPanelChange}\n onClear={this.onPanelClear}\n defaultOpenValue={defaultOpenValue}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n onEsc={this.onEsc}\n allowEmpty={allowEmpty}\n format={this.getFormat()}\n placeholder={placeholder}\n disabledHours={disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n hideDisabledOptions={hideDisabledOptions}\n use12Hours={use12Hours}\n hourStep={hourStep}\n minuteStep={minuteStep}\n secondStep={secondStep}\n focusOnOpen={focusOnOpen}\n onKeydown={onKeyDown2}\n clearIcon={clearIcon}\n addon={addon}\n />\n );\n },\n\n getPopupClassName() {\n const { showHour, showMinute, showSecond, use12Hours, prefixCls } = this;\n let popupClassName = this.popupClassName;\n // Keep it for old compatibility\n if ((!showHour || !showMinute || !showSecond) && !use12Hours) {\n popupClassName += ` ${prefixCls}-panel-narrow`;\n }\n let selectColumnCount = 0;\n if (showHour) {\n selectColumnCount += 1;\n }\n if (showMinute) {\n selectColumnCount += 1;\n }\n if (showSecond) {\n selectColumnCount += 1;\n }\n if (use12Hours) {\n selectColumnCount += 1;\n }\n popupClassName += ` ${prefixCls}-panel-column-${selectColumnCount}`;\n return popupClassName;\n },\n\n setOpen(open) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n if (open) {\n this.__emit('open', { open });\n } else {\n this.__emit('close', { open });\n }\n }\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n onFocus(e) {\n this.__emit('focus', e);\n },\n onBlur(e) {\n this.__emit('blur', e);\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n placement,\n align,\n id,\n disabled,\n transitionName,\n getPopupContainer,\n name,\n autoComplete,\n autoFocus,\n inputReadOnly,\n sOpen,\n sValue,\n onFocus,\n onBlur,\n } = this;\n const popupClassName = this.getPopupClassName();\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <Trigger\n prefixCls={`${prefixCls}-panel`}\n popupClassName={popupClassName}\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getPopupContainer}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n >\n <template slot=\"popup\">{this.getPanelElement()}</template>\n <span class={`${prefixCls}`}>\n <input\n class={`${prefixCls}-input`}\n ref=\"picker\"\n type=\"text\"\n placeholder={placeholder}\n name={name}\n onKeydown={this.onKeyDown}\n disabled={disabled}\n value={(sValue && sValue.format(this.getFormat())) || ''}\n autoComplete={autoComplete}\n onFocus={onFocus}\n onBlur={onBlur}\n autoFocus={autoFocus}\n readOnly={!!inputReadOnly}\n id={id}\n />\n {inputIcon || <span class={`${prefixCls}-icon`} />}\n </span>\n </Trigger>\n );\n },\n};\n","// based on rc-time-picker 3.4.0\nexport { default } from './TimePicker';\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n prefixCls: PropTypes.string,\n overlay: PropTypes.any,\n trigger: PropTypes.any,\n },\n updated() {\n const { trigger } = this;\n if (trigger) {\n trigger.forcePopupAlign();\n }\n },\n render() {\n const { overlay, prefixCls } = this;\n return (\n <div class={`${prefixCls}-inner`} role=\"tooltip\">\n {typeof overlay === 'function' ? overlay() : overlay}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\nimport { hasProp, getComponentFromProp, getOptionProps } from '../_util/props-util';\nfunction noop() {}\nexport default {\n props: {\n trigger: PropTypes.any.def(['hover']),\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string.def('right'),\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n afterVisibleChange: PropTypes.func.def(() => {}),\n overlay: PropTypes.any,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def({}),\n arrowContent: PropTypes.any.def(null),\n tipId: PropTypes.string,\n builtinPlacements: PropTypes.object,\n },\n methods: {\n getPopupElement() {\n const { prefixCls, tipId } = this.$props;\n return [\n <div class={`${prefixCls}-arrow`} key=\"arrow\">\n {getComponentFromProp(this, 'arrowContent')}\n </div>,\n <Content\n key=\"content\"\n trigger={this.$refs.trigger}\n prefixCls={prefixCls}\n id={tipId}\n overlay={getComponentFromProp(this, 'overlay')}\n />,\n ];\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n },\n render(h) {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible,\n getTooltipContainer,\n ...restProps\n } = getOptionProps(this);\n const extraProps = { ...restProps };\n if (hasProp(this, 'visible')) {\n extraProps.popupVisible = this.$props.visible;\n }\n const triggerProps = {\n props: {\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltipOnHide,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay,\n ...extraProps,\n },\n on: {\n ...this.$listeners,\n popupVisibleChange: this.$listeners.visibleChange || noop,\n popupAlign: this.$listeners.popupAlign || noop,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n <template slot=\"popup\">{this.getPopupElement(h)}</template>\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n","// based on rc-tooltip 3.7.3\nimport Tooltip from './Tooltip';\n\nexport default Tooltip;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n};\n\nexport default placements;\n","// export this package's api\n// base 2.4.4\nimport Vue from 'vue';\nimport TreeSelect from './src';\nimport ref from 'vue-ref';\n\nVue.use(ref, { name: 'ant-ref' });\nexport default TreeSelect;\n\nexport { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './src';\n","import warning from 'warning';\nimport PropTypes from '../../../_util/vue-types';\nimport { Tree } from '../../../vc-tree';\nimport BaseMixin from '../../../_util/BaseMixin';\n\n// export const popupContextTypes = {\n// onPopupKeyDown: PropTypes.func.isRequired,\n// onTreeNodeSelect: PropTypes.func.isRequired,\n// onTreeNodeCheck: PropTypes.func.isRequired,\n// }\nfunction getDerivedStateFromProps(nextProps, prevState) {\n const {\n _prevProps: prevProps = {},\n _loadedKeys: loadedKeys,\n _expandedKeyList: expandedKeyList,\n _cachedExpandedKeyList: cachedExpandedKeyList,\n } = prevState || {};\n const {\n valueList,\n valueEntities,\n keyEntities,\n treeExpandedKeys,\n filteredTreeNodes,\n searchValue,\n } = nextProps;\n\n const newState = {\n _prevProps: { ...nextProps },\n };\n\n // Check value update\n if (valueList !== prevProps.valueList) {\n newState._keyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n }\n\n // Show all when tree is in filter mode\n if (\n !treeExpandedKeys &&\n filteredTreeNodes &&\n filteredTreeNodes.length &&\n filteredTreeNodes !== prevProps.filteredTreeNodes\n ) {\n newState._expandedKeyList = [...keyEntities.keys()];\n }\n\n // Cache `expandedKeyList` when filter set\n if (searchValue && !prevProps.searchValue) {\n newState._cachedExpandedKeyList = expandedKeyList;\n } else if (!searchValue && prevProps.searchValue && !treeExpandedKeys) {\n newState._expandedKeyList = cachedExpandedKeyList || [];\n newState._cachedExpandedKeyList = [];\n }\n\n // Use expandedKeys if provided\n if (prevProps.treeExpandedKeys !== treeExpandedKeys) {\n newState._expandedKeyList = treeExpandedKeys;\n }\n\n // Clean loadedKeys if key not exist in keyEntities anymore\n if (nextProps.loadData) {\n newState._loadedKeys = loadedKeys.filter(key => keyEntities.has(key));\n }\n\n return newState;\n}\nconst BasePopup = {\n mixins: [BaseMixin],\n name: 'BasePopup',\n props: {\n prefixCls: PropTypes.string,\n upperSearchValue: PropTypes.string,\n valueList: PropTypes.array,\n searchHalfCheckedKeys: PropTypes.array,\n valueEntities: PropTypes.object,\n keyEntities: Map,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeNodeFilterProp: PropTypes.string,\n treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n multiple: PropTypes.bool,\n // onTreeExpand: PropTypes.func,\n searchValue: PropTypes.string,\n treeNodes: PropTypes.any,\n filteredTreeNodes: PropTypes.any,\n notFoundContent: PropTypes.string,\n\n ariaId: PropTypes.string,\n switcherIcon: PropTypes.any,\n // HOC\n renderSearch: PropTypes.func,\n // onTreeExpanded: PropTypes.func,\n\n __propsSymbol__: PropTypes.any,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n watch: {\n __propsSymbol__() {\n const state = getDerivedStateFromProps(this.$props, this.$data);\n this.setState(state);\n },\n },\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { treeDefaultExpandAll, treeDefaultExpandedKeys, keyEntities } = this.$props;\n\n // TODO: make `expandedKeyList` control\n let expandedKeyList = treeDefaultExpandedKeys;\n if (treeDefaultExpandAll) {\n expandedKeyList = [...keyEntities.keys()];\n }\n\n const state = {\n _keyList: [],\n _expandedKeyList: expandedKeyList,\n // Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedStateFromProps`\n _cachedExpandedKeyList: [], // eslint-disable-line react/no-unused-state\n _loadedKeys: [],\n _prevProps: {},\n };\n return {\n ...state,\n ...getDerivedStateFromProps(this.$props, state),\n };\n },\n methods: {\n onTreeExpand(expandedKeyList) {\n const { treeExpandedKeys } = this.$props;\n\n // Set uncontrolled state\n if (!treeExpandedKeys) {\n this.setState({ _expandedKeyList: expandedKeyList }, () => {\n this.__emit('treeExpanded');\n });\n }\n this.__emit('update:treeExpandedKeys', expandedKeyList);\n this.__emit('treeExpand', expandedKeyList);\n },\n\n onLoad(loadedKeys) {\n this.setState({ _loadedKeys: loadedKeys });\n },\n\n /**\n * Not pass `loadData` when searching. To avoid loop ajax call makes browser crash.\n */\n getLoadData() {\n const { loadData, searchValue } = this.$props;\n if (searchValue) return null;\n return loadData;\n },\n\n /**\n * This method pass to Tree component which is used for add filtered class\n * in TreeNode > li\n */\n filterTreeNode(treeNode) {\n const { upperSearchValue, treeNodeFilterProp } = this.$props;\n\n const filterVal = treeNode[treeNodeFilterProp];\n if (typeof filterVal === 'string') {\n return upperSearchValue && filterVal.toUpperCase().indexOf(upperSearchValue) !== -1;\n }\n\n return false;\n },\n\n renderNotFound() {\n const { prefixCls, notFoundContent } = this.$props;\n\n return <span class={`${prefixCls}-not-found`}>{notFoundContent}</span>;\n },\n },\n\n render() {\n const {\n _keyList: keyList,\n _expandedKeyList: expandedKeyList,\n _loadedKeys: loadedKeys,\n } = this.$data;\n const {\n prefixCls,\n treeNodes,\n filteredTreeNodes,\n treeIcon,\n treeLine,\n treeCheckable,\n treeCheckStrictly,\n multiple,\n ariaId,\n renderSearch,\n switcherIcon,\n searchHalfCheckedKeys,\n } = this.$props;\n const {\n vcTreeSelect: { onPopupKeyDown, onTreeNodeSelect, onTreeNodeCheck },\n } = this;\n\n const loadData = this.getLoadData();\n\n const treeProps = {};\n\n if (treeCheckable) {\n treeProps.checkedKeys = keyList;\n } else {\n treeProps.selectedKeys = keyList;\n }\n let $notFound;\n let $treeNodes;\n if (filteredTreeNodes) {\n if (filteredTreeNodes.length) {\n treeProps.checkStrictly = true;\n $treeNodes = filteredTreeNodes;\n\n // Fill halfCheckedKeys\n if (treeCheckable && !treeCheckStrictly) {\n treeProps.checkedKeys = {\n checked: keyList,\n halfChecked: searchHalfCheckedKeys,\n };\n }\n } else {\n $notFound = this.renderNotFound();\n }\n } else if (!treeNodes.length) {\n $notFound = this.renderNotFound();\n } else {\n $treeNodes = treeNodes;\n }\n\n let $tree;\n if ($notFound) {\n $tree = $notFound;\n } else {\n const treeAllProps = {\n props: {\n prefixCls: `${prefixCls}-tree`,\n showIcon: treeIcon,\n showLine: treeLine,\n selectable: !treeCheckable,\n checkable: treeCheckable,\n checkStrictly: treeCheckStrictly,\n multiple: multiple,\n loadData: loadData,\n loadedKeys: loadedKeys,\n expandedKeys: expandedKeyList,\n filterTreeNode: this.filterTreeNode,\n switcherIcon: switcherIcon,\n ...treeProps,\n __propsSymbol__: Symbol(),\n children: $treeNodes,\n },\n on: {\n select: onTreeNodeSelect,\n check: onTreeNodeCheck,\n expand: this.onTreeExpand,\n load: this.onLoad,\n },\n };\n $tree = <Tree {...treeAllProps} />;\n }\n\n return (\n <div role=\"listbox\" id={ariaId} onKeydown={onPopupKeyDown} tabIndex={-1}>\n {renderSearch ? renderSearch() : null}\n {$tree}\n </div>\n );\n },\n};\n\nexport default BasePopup;\n","/**\n * Input Box is in different position for different mode.\n * This not the same design as `Select` cause it's followed by antd 0.x `Select`.\n * We will not follow the new design immediately since antd 3.x is already released.\n *\n * So this file named as Selector to avoid confuse.\n */\nimport { createRef } from '../util';\nimport PropTypes from '../../../_util/vue-types';\nimport classNames from 'classnames';\nimport { initDefaultProps, getComponentFromProp } from '../../../_util/props-util';\nimport BaseMixin from '../../../_util/BaseMixin';\nexport const selectorPropTypes = () => ({\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n open: PropTypes.bool,\n valueList: PropTypes.array, // Name as valueList to diff the single value\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n // onClick: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n removeSelected: PropTypes.func,\n choiceTransitionName: PropTypes.string,\n // Pass by component\n ariaId: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n selectorValueList: PropTypes.array,\n placeholder: PropTypes.any,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n});\n\nfunction noop() {}\nexport default function(modeName) {\n const BaseSelector = {\n name: 'BaseSelector',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n ...selectorPropTypes(),\n\n // Pass by HOC\n renderSelection: PropTypes.func.isRequired,\n renderPlaceholder: PropTypes.func,\n tabIndex: PropTypes.number,\n },\n {\n tabIndex: 0,\n },\n ),\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.domRef = createRef();\n },\n methods: {\n onFocus(e) {\n const { focused } = this.$props;\n const {\n vcTreeSelect: { onSelectorFocus },\n } = this;\n\n if (!focused) {\n onSelectorFocus();\n }\n this.__emit('focus', e);\n },\n\n onBlur(e) {\n const {\n vcTreeSelect: { onSelectorBlur },\n } = this;\n\n // TODO: Not trigger when is inner component get focused\n onSelectorBlur();\n this.__emit('blur', e);\n },\n\n focus() {\n this.domRef.current.focus();\n },\n\n blur() {\n this.domRef.current.blur();\n },\n\n renderClear() {\n const { prefixCls, allowClear, valueList } = this.$props;\n const {\n vcTreeSelect: { onSelectorClear },\n } = this;\n\n if (!allowClear || !valueList.length || !valueList[0].value) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <span key=\"clear\" class={`${prefixCls}-selection__clear`} onClick={onSelectorClear}>\n {clearIcon}\n </span>\n );\n },\n\n renderArrow() {\n const { prefixCls, showArrow } = this.$props;\n if (!showArrow) {\n return null;\n }\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <span key=\"arrow\" class={`${prefixCls}-arrow`} style={{ outline: 'none' }}>\n {inputIcon}\n </span>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n className,\n style,\n open,\n focused,\n disabled,\n allowClear,\n ariaId,\n renderSelection,\n renderPlaceholder,\n tabIndex,\n } = this.$props;\n const {\n vcTreeSelect: { onSelectorKeyDown },\n $listeners,\n } = this;\n\n let myTabIndex = tabIndex;\n if (disabled) {\n myTabIndex = null;\n }\n\n return (\n <span\n style={style}\n onClick={$listeners.click || noop}\n class={classNames(className, prefixCls, {\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || focused,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: allowClear,\n })}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.domRef,\n },\n ],\n }}\n role=\"combobox\"\n aria-expanded={open}\n aria-owns={open ? ariaId : undefined}\n aria-controls={open ? ariaId : undefined}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n tabIndex={myTabIndex}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={onSelectorKeyDown}\n >\n <span\n key=\"selection\"\n class={classNames(`${prefixCls}-selection`, `${prefixCls}-selection--${modeName}`)}\n >\n {renderSelection()}\n {this.renderClear()}\n {this.renderArrow()}\n\n {renderPlaceholder && renderPlaceholder()}\n </span>\n </span>\n );\n },\n };\n\n return BaseSelector;\n}\n","import BasePopup from '../Base/BasePopup';\n\nexport default BasePopup;\n","import PropTypes from '../../../_util/vue-types';\nimport BasePopup from '../Base/BasePopup';\nimport SearchInput from '../SearchInput';\nimport { createRef } from '../util';\n\nconst SinglePopup = {\n name: 'SinglePopup',\n props: {\n ...BasePopup.props,\n ...SearchInput.props,\n searchValue: PropTypes.string,\n showSearch: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n _renderPlaceholder() {\n const { searchPlaceholder, searchValue, prefixCls } = this.$props;\n\n if (!searchPlaceholder) {\n return null;\n }\n\n return (\n <span\n style={{\n display: searchValue ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {searchPlaceholder}\n </span>\n );\n },\n\n _renderSearch() {\n const { showSearch, dropdownPrefixCls } = this.$props;\n\n if (!showSearch) {\n return null;\n }\n\n return (\n <span class={`${dropdownPrefixCls}-search`}>\n <SearchInput\n {...{\n props: { ...this.$props, renderPlaceholder: this._renderPlaceholder },\n on: this.$listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n />\n </span>\n );\n },\n },\n render() {\n return (\n <BasePopup\n {...{\n props: { ...this.$props, renderSearch: this._renderSearch, __propsSymbol__: Symbol() },\n on: this.$listeners,\n }}\n />\n );\n },\n};\n\nexport default SinglePopup;\n","/**\n * Since search box is in different position with different mode.\n * - Single: in the popup box\n * - multiple: in the selector\n * Move the code as a SearchInput for easy management.\n */\n\nimport PropTypes from '../../_util/vue-types';\nimport { createRef } from './util';\n\nconst SearchInput = {\n name: 'SearchInput',\n props: {\n open: PropTypes.bool,\n searchValue: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n renderPlaceholder: PropTypes.func,\n needAlign: PropTypes.bool,\n ariaId: PropTypes.string,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n\n created() {\n this.inputRef = createRef();\n this.mirrorInputRef = createRef();\n this.prevProps = { ...this.$props };\n },\n mounted() {\n this.$nextTick(() => {\n const { open, needAlign } = this.$props;\n if (needAlign) {\n this.alignInputWidth();\n }\n\n if (open) {\n this.focus(true);\n }\n });\n },\n\n updated() {\n const { open, searchValue, needAlign } = this.$props;\n const { prevProps } = this;\n this.$nextTick(() => {\n if (open && prevProps.open !== open) {\n this.focus();\n }\n if (needAlign && searchValue !== prevProps.searchValue) {\n this.alignInputWidth();\n }\n this.prevProps = { ...this.$props };\n });\n },\n methods: {\n /**\n * `scrollWidth` is not correct in IE, do the workaround.\n * ref: https://github.com/react-component/tree-select/issues/65\n * clientWidth 0 when mounted in vue. why?\n */\n alignInputWidth() {\n this.inputRef.current.style.width = `${this.mirrorInputRef.current.clientWidth ||\n this.mirrorInputRef.current.offsetWidth}px`;\n },\n\n /**\n * Need additional timeout for focus cause parent dom is not ready when didMount trigger\n */\n focus(isDidMount) {\n if (this.inputRef.current) {\n if (isDidMount) {\n setTimeout(() => {\n this.inputRef.current.focus();\n }, 0);\n } else {\n // set it into else, Avoid scrolling when focus\n this.inputRef.current.focus();\n }\n }\n },\n\n blur() {\n if (this.inputRef.current) {\n this.inputRef.current.blur();\n }\n },\n },\n\n render() {\n const { searchValue, prefixCls, disabled, renderPlaceholder, open, ariaId } = this.$props;\n const {\n vcTreeSelect: { onSearchInputChange, onSearchInputKeyDown },\n } = this;\n return (\n <span class={`${prefixCls}-search__field__wrap`}>\n <input\n type=\"text\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n onInput={onSearchInputChange}\n onKeydown={onSearchInputKeyDown}\n value={searchValue}\n disabled={disabled}\n class={`${prefixCls}-search__field`}\n aria-label=\"filter select\"\n aria-autocomplete=\"list\"\n aria-controls={open ? ariaId : undefined}\n aria-multiline=\"false\"\n />\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.mirrorInputRef,\n },\n ],\n }}\n class={`${prefixCls}-search__field__mirror`}\n >\n {searchValue} \n </span>\n {renderPlaceholder ? renderPlaceholder() : null}\n </span>\n );\n },\n};\n\nexport default SearchInput;\n","/**\n * ARIA: https://www.w3.org/TR/wai-aria/#combobox\n * Sample 1: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.1pattern/listbox-combo.html\n * Sample 2: https://www.w3.org/blog/wai-components-gallery/widget/combobox-with-aria-autocompleteinline/\n *\n * Tab logic:\n * Popup is close\n * 1. Focus input (mark component as focused)\n * 2. Press enter to show the popup\n * 3. If popup has input, focus it\n *\n * Popup is open\n * 1. press tab to close the popup\n * 2. Focus back to the selection input box\n * 3. Let the native tab going on\n *\n * TreeSelect use 2 design type.\n * In single mode, we should focus on the `span`\n * In multiple mode, we should focus on the `input`\n */\n\nimport shallowEqual from 'shallowequal';\nimport raf from 'raf';\nimport warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nimport SelectTrigger from './SelectTrigger';\nimport SingleSelector from './Selector/SingleSelector';\nimport MultipleSelector from './Selector/MultipleSelector';\nimport SinglePopup from './Popup/SinglePopup';\nimport MultiplePopup from './Popup/MultiplePopup';\n\nimport { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './strategies';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n createRef,\n generateAriaId,\n formatInternalValue,\n formatSelectorValue,\n parseSimpleTreeData,\n convertDataToTree,\n convertTreeToEntities,\n conductCheck,\n getHalfCheckedKeys,\n flatToHierarchy,\n isPosRelated,\n isLabelInValue,\n getFilterTree,\n cleanEntity,\n} from './util';\nimport SelectNode from './SelectNode';\nimport {\n initDefaultProps,\n getOptionProps,\n mergeProps,\n getPropsData,\n filterEmpty,\n} from '../../_util/props-util';\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\nconst Select = {\n name: 'Select',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n prefixAria: PropTypes.string,\n multiple: PropTypes.bool,\n showArrow: PropTypes.bool,\n open: PropTypes.bool,\n value: PropTypes.any,\n\n autoFocus: PropTypes.bool,\n\n defaultOpen: PropTypes.bool,\n defaultValue: PropTypes.any,\n\n showSearch: PropTypes.bool,\n placeholder: PropTypes.any,\n inputValue: PropTypes.string, // [Legacy] Deprecated. Use `searchValue` instead.\n searchValue: PropTypes.string,\n autoClearSearchValue: PropTypes.bool,\n searchPlaceholder: PropTypes.any, // [Legacy] Confuse with placeholder\n disabled: PropTypes.bool,\n children: PropTypes.any,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n maxTagTextLength: PropTypes.number,\n showCheckedStrategy: PropTypes.oneOf([SHOW_ALL, SHOW_PARENT, SHOW_CHILD]),\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownVisibleChange: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeData: PropTypes.array,\n treeDataSimpleMode: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n filterTreeNode: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n\n notFoundContent: PropTypes.any,\n getPopupContainer: PropTypes.func,\n\n // onSearch: PropTypes.func,\n // onSelect: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onChange: PropTypes.func,\n // onDropdownVisibleChange: PropTypes.func,\n\n // onTreeExpand: PropTypes.func,\n allowClear: PropTypes.bool,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n switcherIcon: PropTypes.any,\n __propsSymbol__: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree-select',\n prefixAria: 'rc-tree-select',\n showArrow: true,\n showSearch: true,\n autoClearSearchValue: true,\n showCheckedStrategy: SHOW_CHILD,\n\n // dropdownMatchSelectWidth change the origin design, set to false now\n // ref: https://github.com/react-component/select/blob/4cad95e098a341a09de239ad6981067188842020/src/Select.jsx#L344\n // ref: https://github.com/react-component/select/pull/71\n treeNodeFilterProp: 'value',\n treeNodeLabelProp: 'title',\n treeIcon: false,\n notFoundContent: 'Not Found',\n dropdownStyle: {},\n dropdownVisibleChange: () => {\n return true;\n },\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { prefixAria, defaultOpen, open } = this.$props;\n this.needSyncKeys = {};\n this.selectorRef = createRef();\n this.selectTriggerRef = createRef();\n\n // ARIA need `aria-controls` props mapping\n // Since this need user input. Let's generate ourselves\n this.ariaId = generateAriaId(`${prefixAria}-list`);\n\n const state = {\n _open: open || defaultOpen,\n _valueList: [],\n _searchHalfCheckedKeys: [],\n _missValueList: [], // Contains the value not in the tree\n _selectorValueList: [], // Used for multiple selector\n _valueEntities: {},\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _searchValue: '',\n _prevProps: {},\n _init: true,\n _focused: undefined,\n _treeNodes: undefined,\n _filteredTreeNodes: undefined,\n };\n const newState = this.getDerivedStateFromProps(this.$props, state);\n return {\n ...state,\n ...newState,\n };\n },\n\n provide() {\n return {\n vcTreeSelect: {\n onSelectorFocus: this.onSelectorFocus,\n onSelectorBlur: this.onSelectorBlur,\n onSelectorKeyDown: this.onComponentKeyDown,\n onSelectorClear: this.onSelectorClear,\n onMultipleSelectorRemove: this.onMultipleSelectorRemove,\n\n onTreeNodeSelect: this.onTreeNodeSelect,\n onTreeNodeCheck: this.onTreeNodeCheck,\n onPopupKeyDown: this.onComponentKeyDown,\n\n onSearchInputChange: this.onSearchInputChange,\n onSearchInputKeyDown: this.onSearchInputKeyDown,\n },\n };\n },\n watch: {\n ...getWatch(['treeData', 'defaultValue', 'value']),\n __propsSymbol__() {\n const state = this.getDerivedStateFromProps(this.$props, this.$data);\n this.setState(state);\n this.needSyncKeys = {};\n },\n '$data._valueList': function() {\n this.$nextTick(() => {\n this.forcePopupAlign();\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this.$props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n\n methods: {\n getDerivedStateFromProps(nextProps, prevState) {\n const h = this.$createElement;\n const { _prevProps: prevProps = {} } = prevState;\n const {\n treeCheckable,\n treeCheckStrictly,\n filterTreeNode,\n treeNodeFilterProp,\n treeDataSimpleMode,\n } = nextProps;\n const newState = {\n _prevProps: { ...nextProps },\n _init: false,\n };\n const self = this;\n // Process the state when props updated\n function processState(propName, updater) {\n if (prevProps[propName] !== nextProps[propName] || self.needSyncKeys[propName]) {\n updater(nextProps[propName], prevProps[propName]);\n return true;\n }\n return false;\n }\n\n let valueRefresh = false;\n\n // Open\n processState('open', propValue => {\n newState._open = propValue;\n });\n\n // Tree Nodes\n let treeNodes;\n let treeDataChanged = false;\n let treeDataModeChanged = false;\n processState('treeData', propValue => {\n treeNodes = convertDataToTree(h, propValue);\n treeDataChanged = true;\n });\n\n processState('treeDataSimpleMode', (propValue, prevValue) => {\n if (!propValue) return;\n\n const prev = !prevValue || prevValue === true ? {} : prevValue;\n\n // Shallow equal to avoid dynamic prop object\n if (!shallowEqual(propValue, prev)) {\n treeDataModeChanged = true;\n }\n });\n\n // Parse by `treeDataSimpleMode`\n if (treeDataSimpleMode && (treeDataChanged || treeDataModeChanged)) {\n const simpleMapper = {\n id: 'id',\n pId: 'pId',\n rootPId: null,\n ...(treeDataSimpleMode !== true ? treeDataSimpleMode : {}),\n };\n treeNodes = convertDataToTree(h, parseSimpleTreeData(nextProps.treeData, simpleMapper));\n }\n\n // If `treeData` not provide, use children TreeNodes\n if (!nextProps.treeData) {\n // processState('children', (propValue) => {\n // treeNodes = Array.isArray(propValue) ? propValue : [propValue]\n // })\n treeNodes = filterEmpty(this.$slots.default);\n }\n\n // Convert `treeData` to entities\n if (treeNodes) {\n const entitiesMap = convertTreeToEntities(treeNodes);\n newState._treeNodes = treeNodes;\n newState._posEntities = entitiesMap.posEntities;\n newState._valueEntities = entitiesMap.valueEntities;\n newState._keyEntities = entitiesMap.keyEntities;\n\n valueRefresh = true;\n }\n\n // Value List\n if (prevState._init) {\n processState('defaultValue', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n }\n\n processState('value', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n\n // Selector Value List\n if (valueRefresh) {\n // Find out that value not exist in the tree\n const missValueList = [];\n const filteredValueList = [];\n const keyList = [];\n\n // Get latest value list\n let latestValueList = newState._valueList;\n if (!latestValueList) {\n // Also need add prev missValueList to avoid new treeNodes contains the value\n latestValueList = [...prevState._valueList, ...prevState._missValueList];\n }\n\n // Get key by value\n latestValueList.forEach(wrapperValue => {\n const { value } = wrapperValue;\n const entity = (newState._valueEntities || prevState._valueEntities)[value];\n\n if (entity) {\n keyList.push(entity.key);\n filteredValueList.push(wrapperValue);\n return;\n }\n\n // If not match, it may caused by ajax load. We need keep this\n missValueList.push(wrapperValue);\n });\n\n // We need calculate the value when tree is checked tree\n if (treeCheckable && !treeCheckStrictly) {\n // Calculate the keys need to be checked\n const { checkedKeys } = conductCheck(\n keyList,\n true,\n newState._keyEntities || prevState._keyEntities,\n );\n\n // Format value list again for internal usage\n newState._valueList = checkedKeys.map(key => ({\n value: (newState._keyEntities || prevState._keyEntities).get(key).value,\n }));\n } else {\n newState._valueList = filteredValueList;\n }\n\n // Fill the missValueList, we still need display in the selector\n newState._missValueList = missValueList;\n\n // Calculate the value list for `Selector` usage\n newState._selectorValueList = formatSelectorValue(\n newState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue` but still keep the api\n // `inputValue` support `null` to work as `autoClearSearchValue`\n processState('inputValue', propValue => {\n if (propValue !== null) {\n newState._searchValue = propValue;\n }\n });\n\n // Search value\n processState('searchValue', propValue => {\n newState._searchValue = propValue;\n });\n\n // Do the search logic\n if (newState._searchValue !== undefined || (prevState._searchValue && treeNodes)) {\n const searchValue =\n newState._searchValue !== undefined ? newState._searchValue : prevState._searchValue;\n const upperSearchValue = String(searchValue).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n // Don't filter if is false\n filterTreeNodeFn = () => true;\n } else if (typeof filterTreeNodeFn !== 'function') {\n // When is not function (true or undefined), use inner filter\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n newState._filteredTreeNodes = getFilterTree(\n this.$createElement,\n newState._treeNodes || prevState._treeNodes,\n searchValue,\n filterTreeNodeFn,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // We should re-calculate the halfCheckedKeys when in search mode\n if (\n valueRefresh &&\n treeCheckable &&\n !treeCheckStrictly &&\n (newState._searchValue || prevState._searchValue)\n ) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(\n newState._valueList,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // Checked Strategy\n processState('showCheckedStrategy', () => {\n newState._selectorValueList =\n newState._selectorValueList ||\n formatSelectorValue(\n newState._valueList || prevState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n });\n\n return newState;\n },\n // ==================== Selector ====================\n onSelectorFocus() {\n this.setState({ _focused: true });\n },\n\n onSelectorBlur() {\n this.setState({ _focused: false });\n\n // TODO: Close when Popup is also not focused\n // this.setState({ open: false });\n },\n\n // Handle key board event in both Selector and Popup\n onComponentKeyDown(event) {\n const { _open: open } = this.$data;\n const { keyCode } = event;\n\n if (!open) {\n if ([KeyCode.ENTER, KeyCode.DOWN].indexOf(keyCode) !== -1) {\n this.setOpenState(true);\n }\n } else if (KeyCode.ESC === keyCode) {\n this.setOpenState(false);\n } else if ([KeyCode.UP, KeyCode.DOWN, KeyCode.LEFT, KeyCode.RIGHT].indexOf(keyCode) !== -1) {\n // TODO: Handle `open` state\n event.stopPropagation();\n }\n },\n\n onDeselect(wrappedValue, node, nodeEventInfo) {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n },\n\n onSelectorClear(event) {\n const { disabled } = this.$props;\n if (disabled) return;\n\n this.triggerChange([], []);\n\n if (!this.isSearchValueControlled()) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n event.stopPropagation();\n },\n\n onMultipleSelectorRemove(event, removeValue) {\n event.stopPropagation();\n\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n } = this.$data;\n\n const { treeCheckable, treeCheckStrictly, treeNodeLabelProp, disabled } = this.$props;\n if (disabled) return;\n\n // Find trigger entity\n const triggerEntity = valueEntities[removeValue];\n\n // Clean up value\n let newValueList = valueList;\n if (triggerEntity) {\n // If value is in tree\n if (treeCheckable && !treeCheckStrictly) {\n newValueList = valueList.filter(({ value }) => {\n const entity = valueEntities[value];\n return !isPosRelated(entity.pos, triggerEntity.pos);\n });\n } else {\n newValueList = valueList.filter(({ value }) => value !== removeValue);\n }\n }\n\n const triggerNode = triggerEntity ? triggerEntity.node : null;\n\n const extraInfo = {\n triggerValue: removeValue,\n triggerNode,\n };\n const deselectInfo = {\n node: triggerNode,\n };\n\n // [Legacy] Little hack on this to make same action as `onCheck` event.\n if (treeCheckable) {\n const filteredEntityList = newValueList.map(({ value }) => valueEntities[value]);\n\n deselectInfo.event = 'check';\n deselectInfo.checked = false;\n deselectInfo.checkedNodes = filteredEntityList.map(({ node }) => node);\n deselectInfo.checkedNodesPositions = filteredEntityList.map(({ node, pos }) => ({\n node,\n pos,\n }));\n\n if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = deselectInfo.checkedNodes;\n } else {\n // TODO: It's too expansive to get `halfCheckedKeys` in onDeselect. Not pass this.\n extraInfo.allCheckedNodes = flatToHierarchy(filteredEntityList).map(({ node }) => node);\n }\n } else {\n deselectInfo.event = 'select';\n deselectInfo.selected = false;\n deselectInfo.selectedNodes = newValueList.map(\n ({ value }) => (valueEntities[value] || {}).node,\n );\n }\n\n // Some value user pass prop is not in the tree, we also need clean it\n const newMissValueList = missValueList.filter(({ value }) => value !== removeValue);\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n label: triggerNode ? getPropsData(triggerNode)[treeNodeLabelProp] : null,\n value: removeValue,\n };\n } else {\n wrappedValue = removeValue;\n }\n\n this.onDeselect(wrappedValue, triggerNode, deselectInfo);\n\n this.triggerChange(newMissValueList, newValueList, extraInfo);\n },\n\n // ===================== Popup ======================\n onValueTrigger(isAdd, nodeList, nodeEventInfo, nodeExtraInfo) {\n const { node } = nodeEventInfo;\n const { value } = node.$props;\n const {\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n } = this.$data;\n const {\n disabled,\n inputValue,\n treeNodeLabelProp,\n treeCheckable,\n treeCheckStrictly,\n autoClearSearchValue,\n } = this.$props;\n const label = node.$props[treeNodeLabelProp];\n\n if (disabled) return;\n\n // Wrap the return value for user\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n value,\n label,\n };\n } else {\n wrappedValue = value;\n }\n\n // [Legacy] Origin code not trigger `onDeselect` every time. Let's align the behaviour.\n if (isAdd) {\n this.__emit('select', wrappedValue, node, nodeEventInfo);\n } else {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n }\n\n // Get wrapped value list.\n // This is a bit hack cause we use key to match the value.\n let newValueList = nodeList.map(node => {\n const props = getPropsData(node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n\n // When is `treeCheckable` and with `searchValue`, `valueList` is not full filled.\n // We need calculate the missing nodes.\n if (treeCheckable && !treeCheckStrictly) {\n let keyList = newValueList.map(({ value: val }) => valueEntities[val].key);\n if (isAdd) {\n keyList = conductCheck(keyList, true, keyEntities).checkedKeys;\n } else {\n keyList = conductCheck([valueEntities[value].key], false, keyEntities, {\n checkedKeys: keyList,\n }).checkedKeys;\n }\n newValueList = keyList.map(key => {\n const props = getPropsData(keyEntities.get(key).node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n }\n\n // Clean up `searchValue` when this prop is set\n if (autoClearSearchValue || inputValue === null) {\n // Clean state `searchValue` if uncontrolled\n if (!this.isSearchValueControlled()) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n // Trigger onSearch if `searchValue` to be empty.\n // We should also trigger onSearch with empty string here\n // since if user use `treeExpandedKeys`, it need user have the ability to reset it.\n if (searchValue && searchValue.length) {\n this.__emit('update:searchValue', '');\n this.__emit('search', '');\n }\n }\n\n // [Legacy] Provide extra info\n const extraInfo = {\n ...nodeExtraInfo,\n triggerValue: value,\n triggerNode: node,\n };\n\n this.triggerChange(missValueList, newValueList, extraInfo);\n },\n\n onTreeNodeSelect(_, nodeEventInfo) {\n const { _valueList: valueList, _valueEntities: valueEntities } = this.$data;\n const { treeCheckable, multiple } = this.$props;\n if (treeCheckable) return;\n\n if (!multiple) {\n this.setOpenState(false);\n }\n\n const isAdd = nodeEventInfo.selected;\n const {\n $props: { value: selectedValue },\n } = nodeEventInfo.node;\n\n let newValueList;\n\n if (!multiple) {\n newValueList = [{ value: selectedValue }];\n } else {\n newValueList = valueList.filter(({ value }) => value !== selectedValue);\n if (isAdd) {\n newValueList.push({ value: selectedValue });\n }\n }\n\n const selectedNodes = newValueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ node }) => node);\n\n this.onValueTrigger(isAdd, selectedNodes, nodeEventInfo, { selected: isAdd });\n },\n\n onTreeNodeCheck(_, nodeEventInfo) {\n const {\n _searchValue: searchValue,\n _keyEntities: keyEntities,\n _valueEntities: valueEntities,\n _valueList: valueList,\n } = this.$data;\n const { treeCheckStrictly } = this.$props;\n\n const { checkedNodes, checkedNodesPositions } = nodeEventInfo;\n const isAdd = nodeEventInfo.checked;\n\n const extraInfo = {\n checked: isAdd,\n };\n\n let checkedNodeList = checkedNodes;\n\n // [Legacy] Check event provide `allCheckedNodes`.\n // When `treeCheckStrictly` or internal `searchValue` is set, TreeNode will be unrelated:\n // - Related: Show the top checked nodes and has children prop.\n // - Unrelated: Show all the checked nodes.\n if (searchValue) {\n const oriKeyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n\n let keyList;\n if (isAdd) {\n keyList = Array.from(\n new Set([\n ...oriKeyList,\n ...checkedNodeList.map(node => {\n const { value } = getPropsData(node);\n return valueEntities[value].key;\n }),\n ]),\n );\n } else {\n keyList = conductCheck([getPropsData(nodeEventInfo.node).eventKey], false, keyEntities, {\n checkedKeys: oriKeyList,\n }).checkedKeys;\n }\n\n checkedNodeList = keyList.map(key => keyEntities.get(key).node);\n\n // Let's follow as not `treeCheckStrictly` format\n extraInfo.allCheckedNodes = keyList.map(key => cleanEntity(keyEntities.get(key)));\n } else if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = nodeEventInfo.checkedNodes;\n } else {\n extraInfo.allCheckedNodes = flatToHierarchy(checkedNodesPositions);\n }\n\n this.onValueTrigger(isAdd, checkedNodeList, nodeEventInfo, extraInfo);\n },\n\n // ==================== Trigger =====================\n\n onDropdownVisibleChange(open) {\n this.setOpenState(open, true);\n },\n\n onSearchInputChange({ target: { value } }) {\n const { _treeNodes: treeNodes, _valueEntities: valueEntities } = this.$data;\n const { filterTreeNode, treeNodeFilterProp } = this.$props;\n this.__emit('update:searchValue', value);\n this.__emit('search', value);\n\n let isSet = false;\n\n if (!this.isSearchValueControlled()) {\n isSet = this.setUncontrolledState({\n _searchValue: value,\n });\n this.setOpenState(true);\n }\n\n if (isSet) {\n // Do the search logic\n const upperSearchValue = String(value).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (!filterTreeNodeFn) {\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n this.setState({\n _filteredTreeNodes: getFilterTree(\n this.$createElement,\n treeNodes,\n value,\n filterTreeNodeFn,\n valueEntities,\n ),\n });\n }\n },\n\n onSearchInputKeyDown(event) {\n const { _searchValue: searchValue, _valueList: valueList } = this.$data;\n\n const { keyCode } = event;\n\n if (KeyCode.BACKSPACE === keyCode && this.isMultiple() && !searchValue && valueList.length) {\n const lastValue = valueList[valueList.length - 1].value;\n this.onMultipleSelectorRemove(event, lastValue);\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState(state) {\n let needSync = false;\n const newState = {};\n const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.slice(1) in props) return;\n\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n\n return needSync;\n },\n\n // [Legacy] Origin provide `documentClickClose` which triggered by `Trigger`\n // Currently `TreeSelect` align the hide popup logic as `Select` which blur to hide.\n // `documentClickClose` is not accurate anymore. Let's just keep the key word.\n setOpenState(open, byTrigger = false) {\n const { dropdownVisibleChange } = this.$props;\n\n if (\n dropdownVisibleChange &&\n dropdownVisibleChange(open, { documentClickClose: !open && byTrigger }) === false\n ) {\n return;\n }\n\n this.setUncontrolledState({ _open: open });\n },\n\n // Tree checkable is also a multiple case\n isMultiple() {\n const { multiple, treeCheckable } = this.$props;\n return !!(multiple || treeCheckable);\n },\n\n isLabelInValue() {\n return isLabelInValue(this.$props);\n },\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue`\n // but currently still need support that.\n // Add this method the check if is controlled\n isSearchValueControlled() {\n const props = getOptionProps(this);\n const { inputValue } = props;\n if ('searchValue' in props) return true;\n return 'inputValue' in props && inputValue !== null;\n },\n\n forcePopupAlign() {\n const $trigger = this.selectTriggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n\n delayForcePopupAlign() {\n // Wait 2 frame to avoid dom update & dom algin in the same time\n // https://github.com/ant-design/ant-design/issues/12031\n raf(() => {\n raf(this.forcePopupAlign);\n });\n },\n\n /**\n * 1. Update state valueList.\n * 2. Fire `onChange` event to user.\n */\n triggerChange(missValueList, valueList, extraInfo = {}) {\n const { _valueEntities: valueEntities, _searchValue: searchValue } = this.$data;\n const props = getOptionProps(this);\n const { disabled, treeCheckable, treeCheckStrictly } = props;\n if (disabled) return;\n\n // Trigger\n const extra = {\n // [Legacy] Always return as array contains label & value\n preValue: this.$data._selectorValueList.map(({ label, value }) => ({ label, value })),\n ...extraInfo,\n };\n\n // Format value by `treeCheckStrictly`\n const selectorValueList = formatSelectorValue(valueList, props, valueEntities);\n\n if (!('value' in props)) {\n const newState = {\n _missValueList: missValueList,\n _valueList: valueList,\n _selectorValueList: selectorValueList,\n };\n\n if (searchValue && treeCheckable && !treeCheckStrictly) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(valueList, valueEntities);\n }\n\n this.setState(newState);\n }\n\n // Only do the logic when `onChange` function provided\n if (this.$listeners.change) {\n let connectValueList;\n\n // Get value by mode\n if (this.isMultiple()) {\n connectValueList = [...missValueList, ...selectorValueList];\n } else {\n connectValueList = selectorValueList.slice(0, 1);\n }\n\n let labelList = null;\n let returnValue;\n\n if (this.isLabelInValue()) {\n returnValue = connectValueList.map(({ label, value }) => ({ label, value }));\n } else {\n labelList = [];\n returnValue = connectValueList.map(({ label, value }) => {\n labelList.push(label);\n return value;\n });\n }\n\n if (!this.isMultiple()) {\n returnValue = returnValue[0];\n }\n this.__emit('change', returnValue, labelList, extra);\n }\n },\n\n focus() {\n this.selectorRef.current.focus();\n },\n\n blur() {\n this.selectorRef.current.blur();\n },\n },\n\n // ===================== Render =====================\n\n render() {\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _selectorValueList: selectorValueList,\n _searchHalfCheckedKeys: searchHalfCheckedKeys,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n _open: open,\n _focused: focused,\n _treeNodes: treeNodes,\n _filteredTreeNodes: filteredTreeNodes,\n } = this.$data;\n const props = getOptionProps(this);\n const { prefixCls, treeExpandedKeys } = props;\n const isMultiple = this.isMultiple();\n\n const passProps = {\n props: {\n ...props,\n isMultiple,\n valueList,\n searchHalfCheckedKeys,\n selectorValueList: [...missValueList, ...selectorValueList],\n valueEntities,\n keyEntities,\n searchValue,\n upperSearchValue: (searchValue || '').toUpperCase(), // Perf save\n open,\n focused,\n dropdownPrefixCls: `${prefixCls}-dropdown`,\n ariaId: this.ariaId,\n },\n on: {\n ...this.$listeners,\n choiceAnimationLeave: this.onChoiceAnimationLeave,\n },\n scopedSlots: this.$scopedSlots,\n };\n const popupProps = mergeProps(passProps, {\n props: {\n treeNodes,\n filteredTreeNodes,\n // Tree expanded control\n treeExpandedKeys,\n __propsSymbol__: Symbol(),\n },\n on: {\n treeExpanded: this.delayForcePopupAlign,\n },\n });\n\n const Popup = isMultiple ? MultiplePopup : SinglePopup;\n const $popup = <Popup {...popupProps} />;\n\n const Selector = isMultiple ? MultipleSelector : SingleSelector;\n const $selector = (\n <Selector\n {...passProps}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n }}\n />\n );\n const selectTriggerProps = mergeProps(passProps, {\n props: {\n popupElement: $popup,\n dropdownVisibleChange: this.onDropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.selectTriggerRef,\n },\n ],\n });\n return <SelectTrigger {...selectTriggerProps}>{$selector}</SelectTrigger>;\n },\n};\n\nSelect.TreeNode = SelectNode;\nSelect.SHOW_ALL = SHOW_ALL;\nSelect.SHOW_PARENT = SHOW_PARENT;\nSelect.SHOW_CHILD = SHOW_CHILD;\n\n// Let warning show correct component name\nSelect.name = 'TreeSelect';\n\nexport default Select;\n","import { TreeNode } from '../../vc-tree';\n/**\n * SelectNode wrapped the tree node.\n * Let's use SelectNode instead of TreeNode\n * since TreeNode is so confuse here.\n */\nexport default {\n name: 'SelectNode',\n functional: true,\n isTreeNode: true,\n props: TreeNode.props,\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const $slots = slots();\n const children = $slots.default;\n delete $slots.default;\n const treeNodeProps = {\n ...data,\n on: { ...listeners, ...data.nativeOn },\n props,\n };\n const slotsKey = Object.keys($slots);\n return (\n <TreeNode {...treeNodeProps}>\n {children}\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </TreeNode>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nimport Trigger from '../../vc-trigger';\nimport { createRef } from './util';\nimport classNames from 'classnames';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n};\n\nconst SelectTrigger = {\n name: 'SelectTrigger',\n props: {\n // Pass by outside user props\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n prefixCls: PropTypes.string,\n dropdownPopupAlign: PropTypes.object,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n getPopupContainer: PropTypes.func,\n\n dropdownMatchSelectWidth: PropTypes.bool,\n\n // Pass by Select\n isMultiple: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n dropdownVisibleChange: PropTypes.func,\n popupElement: PropTypes.node,\n open: PropTypes.bool,\n },\n created() {\n this.triggerRef = createRef();\n },\n methods: {\n getDropdownTransitionName() {\n const { transitionName, animation, dropdownPrefixCls } = this.$props;\n if (!transitionName && animation) {\n return `${dropdownPrefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n forcePopupAlign() {\n const $trigger = this.triggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n },\n\n render() {\n const {\n disabled,\n isMultiple,\n dropdownPopupAlign,\n dropdownMatchSelectWidth,\n dropdownClassName,\n dropdownStyle,\n dropdownVisibleChange,\n getPopupContainer,\n dropdownPrefixCls,\n popupElement,\n open,\n } = this.$props;\n\n // TODO: [Legacy] Use new action when trigger fixed: https://github.com/react-component/trigger/pull/86\n\n // When false do nothing with the width\n // ref: https://github.com/ant-design/ant-design/issues/10927\n let stretch;\n if (dropdownMatchSelectWidth !== false) {\n stretch = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n }\n return (\n <Trigger\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.triggerRef,\n },\n ],\n }}\n action={disabled ? [] : ['click']}\n popupPlacement=\"bottomLeft\"\n builtinPlacements={BUILT_IN_PLACEMENTS}\n popupAlign={dropdownPopupAlign}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={dropdownVisibleChange}\n popup={popupElement}\n popupVisible={open}\n getPopupContainer={getPopupContainer}\n stretch={stretch}\n popupClassName={classNames(dropdownClassName, {\n [`${dropdownPrefixCls}--multiple`]: isMultiple,\n [`${dropdownPrefixCls}--single`]: !isMultiple,\n })}\n popupStyle={dropdownStyle}\n >\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n\nexport default SelectTrigger;\n","import PropTypes from '../../../../_util/vue-types';\nimport { toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../../util';\nimport { getComponentFromProp } from '../../../../_util/props-util';\nimport BaseMixin from '../../../../_util/BaseMixin';\n\nconst Selection = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n // onRemove: PropTypes.func,\n\n label: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n removeIcon: PropTypes.any,\n },\n methods: {\n onRemove(event) {\n const { value } = this.$props;\n this.__emit('remove', event, value);\n event.stopPropagation();\n },\n },\n\n render() {\n const { prefixCls, maxTagTextLength, label, value } = this.$props;\n const { $listeners } = this;\n let content = label || value;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n role=\"menuitem\"\n class={`${prefixCls}-selection__choice`}\n title={toTitle(label)}\n >\n {$listeners.remove && (\n <span class={`${prefixCls}-selection__choice__remove`} onClick={this.onRemove}>\n {getComponentFromProp(this, 'removeIcon')}\n </span>\n )}\n <span class={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n },\n};\n\nexport default Selection;\n","import PropTypes from '../../../../_util/vue-types';\nimport { createRef } from '../../util';\nimport generateSelector, { selectorPropTypes } from '../../Base/BaseSelector';\nimport SearchInput from '../../SearchInput';\nimport Selection from './Selection';\nimport { getComponentFromProp } from '../../../../_util/props-util';\nimport getTransitionProps from '../../../../_util/getTransitionProps';\nimport BaseMixin from '../../../../_util/BaseMixin';\nconst TREE_SELECT_EMPTY_VALUE_KEY = 'RC_TREE_SELECT_EMPTY_VALUE_KEY';\n\nconst Selector = generateSelector('multiple');\n\n// export const multipleSelectorContextTypes = {\n// onMultipleSelectorRemove: PropTypes.func.isRequired,\n// }\n\nconst MultipleSelector = {\n mixins: [BaseMixin],\n props: {\n ...selectorPropTypes(),\n ...SearchInput.props,\n selectorValueList: PropTypes.array,\n disabled: PropTypes.bool,\n searchValue: PropTypes.string,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n\n // onChoiceAnimationLeave: PropTypes.func,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n focus() {\n this.inputRef.current.focus();\n },\n blur() {\n this.inputRef.current.blur();\n },\n\n _renderPlaceholder() {\n const {\n prefixCls,\n placeholder,\n searchPlaceholder,\n searchValue,\n selectorValueList,\n } = this.$props;\n\n const currentPlaceholder = placeholder || searchPlaceholder;\n\n if (!currentPlaceholder) return null;\n\n const hidden = searchValue || selectorValueList.length;\n\n // [Legacy] Not remove the placeholder\n return (\n <span\n style={{\n display: hidden ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {currentPlaceholder}\n </span>\n );\n },\n onChoiceAnimationLeave(...args) {\n this.__emit('choiceAnimationLeave', ...args);\n },\n renderSelection() {\n const {\n selectorValueList,\n choiceTransitionName,\n prefixCls,\n labelInValue,\n maxTagCount,\n } = this.$props;\n const {\n vcTreeSelect: { onMultipleSelectorRemove },\n $listeners,\n $slots,\n } = this;\n\n // Check if `maxTagCount` is set\n let myValueList = selectorValueList;\n if (maxTagCount >= 0) {\n myValueList = selectorValueList.slice(0, maxTagCount);\n }\n // Selector node list\n const selectedValueNodes = myValueList.map(({ label, value }) => (\n <Selection\n {...{\n props: {\n ...this.$props,\n label,\n value,\n },\n on: { ...$listeners, remove: onMultipleSelectorRemove },\n }}\n key={value || TREE_SELECT_EMPTY_VALUE_KEY}\n >\n {$slots.default}\n </Selection>\n ));\n\n // Rest node count\n if (maxTagCount >= 0 && maxTagCount < selectorValueList.length) {\n let content = `+ ${selectorValueList.length - maxTagCount} ...`;\n const maxTagPlaceholder = getComponentFromProp(this, 'maxTagPlaceholder', {}, false);\n if (typeof maxTagPlaceholder === 'string') {\n content = maxTagPlaceholder;\n } else if (typeof maxTagPlaceholder === 'function') {\n const restValueList = selectorValueList.slice(maxTagCount);\n content = maxTagPlaceholder(\n labelInValue ? restValueList : restValueList.map(({ value }) => value),\n );\n }\n\n const restNodeSelect = (\n <Selection\n {...{\n props: {\n ...this.$props,\n label: content,\n value: null,\n },\n on: $listeners,\n }}\n key=\"rc-tree-select-internal-max-tag-counter\"\n >\n {$slots.default}\n </Selection>\n );\n\n selectedValueNodes.push(restNodeSelect);\n }\n\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n <SearchInput\n {...{\n props: {\n ...this.$props,\n needAlign: true,\n },\n on: $listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n >\n {$slots.default}\n </SearchInput>\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n return (\n <transition-group class={className} {...transitionProps}>\n {selectedValueNodes}\n </transition-group>\n );\n }\n return (\n <ul class={className} role=\"menubar\">\n {selectedValueNodes}\n </ul>\n );\n },\n },\n\n render() {\n const { $listeners, $slots } = this;\n return (\n <Selector\n {...{\n props: {\n ...this.$props,\n tabIndex: -1,\n showArrow: false,\n renderSelection: this.renderSelection,\n renderPlaceholder: this._renderPlaceholder,\n },\n on: $listeners,\n }}\n >\n {$slots.default}\n </Selector>\n );\n },\n};\n\nexport default MultipleSelector;\n","import generateSelector, { selectorPropTypes } from '../Base/BaseSelector';\nimport { toTitle } from '../util';\nimport { getOptionProps } from '../../../_util/props-util';\nimport { createRef } from '../util';\nconst Selector = generateSelector('single');\n\nconst SingleSelector = {\n name: 'SingleSelector',\n props: selectorPropTypes(),\n created() {\n this.selectorRef = createRef();\n },\n methods: {\n focus() {\n this.selectorRef.current.focus();\n },\n blur() {\n this.selectorRef.current.blur();\n },\n renderSelection() {\n const { selectorValueList, placeholder, prefixCls } = this.$props;\n\n let innerNode;\n\n if (selectorValueList.length) {\n const { label, value } = selectorValueList[0];\n innerNode = (\n <span key=\"value\" title={toTitle(label)} class={`${prefixCls}-selection-selected-value`}>\n {label || value}\n </span>\n );\n } else {\n innerNode = (\n <span key=\"placeholder\" class={`${prefixCls}-selection__placeholder`}>\n {placeholder}\n </span>\n );\n }\n\n return <span class={`${prefixCls}-selection__rendered`}>{innerNode}</span>;\n },\n },\n\n render() {\n const props = {\n props: {\n ...getOptionProps(this),\n renderSelection: this.renderSelection,\n },\n on: this.$listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n };\n return <Selector {...props} />;\n },\n};\n\nexport default SingleSelector;\n","import Select from './Select';\nimport SelectNode from './SelectNode';\n\nexport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\nexport const TreeNode = SelectNode;\n\nexport default Select;\n","export const SHOW_ALL = 'SHOW_ALL';\nexport const SHOW_PARENT = 'SHOW_PARENT';\nexport const SHOW_CHILD = 'SHOW_CHILD';\n","import warning from 'warning';\nimport omit from 'omit.js';\nimport {\n convertDataToTree as vcConvertDataToTree,\n convertTreeToEntities as vcConvertTreeToEntities,\n conductCheck as rcConductCheck,\n} from '../../vc-tree/src/util';\nimport SelectNode from './SelectNode';\nimport { SHOW_CHILD, SHOW_PARENT } from './strategies';\nimport { getSlots, getPropsData } from '../../_util/props-util';\n\nlet warnDeprecatedLabel = false;\n\n// =================== MISC ====================\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title;\n }\n return null;\n}\n\nexport function toArray(data) {\n if (!data) return [];\n\n return Array.isArray(data) ? data : [data];\n}\n\nexport function createRef() {\n const func = function setRef(node) {\n func.current = node;\n };\n return func;\n}\n\n// =============== Legacy ===============\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\n/**\n * Convert position list to hierarchy structure.\n * This is little hack since use '-' to split the position.\n */\nexport function flatToHierarchy(positionList) {\n if (!positionList.length) {\n return [];\n }\n\n const entrances = {};\n\n // Prepare the position map\n const posMap = {};\n const parsedList = positionList.slice().map(entity => {\n const clone = {\n ...entity,\n fields: entity.pos.split('-'),\n };\n delete clone.children;\n return clone;\n });\n\n parsedList.forEach(entity => {\n posMap[entity.pos] = entity;\n });\n\n parsedList.sort((a, b) => {\n return a.fields.length - b.fields.length;\n });\n\n // Create the hierarchy\n parsedList.forEach(entity => {\n const parentPos = entity.fields.slice(0, -1).join('-');\n const parentEntity = posMap[parentPos];\n\n if (!parentEntity) {\n entrances[entity.pos] = entity;\n } else {\n parentEntity.children = parentEntity.children || [];\n parentEntity.children.push(entity);\n }\n\n // Some time position list provide `key`, we don't need it\n delete entity.key;\n delete entity.fields;\n });\n\n return Object.keys(entrances).map(key => entrances[key]);\n}\n\n// =============== Accessibility ===============\nlet ariaId = 0;\n\nexport function resetAriaId() {\n ariaId = 0;\n}\n\nexport function generateAriaId(prefix) {\n ariaId += 1;\n return `${prefix}_${ariaId}`;\n}\n\nexport function isLabelInValue(props) {\n const { treeCheckable, treeCheckStrictly, labelInValue } = props;\n if (treeCheckable && treeCheckStrictly) {\n return true;\n }\n return labelInValue || false;\n}\n\n// =================== Tree ====================\nexport function parseSimpleTreeData(treeData, { id, pId, rootPId }) {\n const keyNodes = {};\n const rootNodeList = [];\n\n // Fill in the map\n const nodeList = treeData.map(node => {\n const clone = { ...node };\n const key = clone[id];\n keyNodes[key] = clone;\n clone.key = clone.key || key;\n return clone;\n });\n\n // Connect tree\n nodeList.forEach(node => {\n const parentKey = node[pId];\n const parent = keyNodes[parentKey];\n\n // Fill parent\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n }\n\n // Fill root tree node\n if (parentKey === rootPId || (!parent && rootPId === null)) {\n rootNodeList.push(node);\n }\n });\n\n return rootNodeList;\n}\n\n/**\n * Detect if position has relation.\n * e.g. 1-2 related with 1-2-3\n * e.g. 1-3-2 related with 1\n * e.g. 1-2 not related with 1-21\n */\nexport function isPosRelated(pos1, pos2) {\n const fields1 = pos1.split('-');\n const fields2 = pos2.split('-');\n\n const minLen = Math.min(fields1.length, fields2.length);\n for (let i = 0; i < minLen; i += 1) {\n if (fields1[i] !== fields2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * This function is only used on treeNode check (none treeCheckStrictly but has searchInput).\n * We convert entity to { node, pos, children } format.\n * This is legacy bug but we still need to do with it.\n * @param entity\n */\nexport function cleanEntity({ node, pos, children }) {\n const instance = {\n node,\n pos,\n };\n\n if (children) {\n instance.children = children.map(cleanEntity);\n }\n\n return instance;\n}\n\n/**\n * Get a filtered TreeNode list by provided treeNodes.\n * [Legacy] Since `Tree` use `key` as map but `key` will changed by React,\n * we have to convert `treeNodes > data > treeNodes` to keep the key.\n * Such performance hungry!\n */\nexport function getFilterTree(h, treeNodes, searchValue, filterFunc, valueEntities) {\n if (!searchValue) {\n return null;\n }\n\n function mapFilteredNodeToData(node) {\n if (!node) return null;\n\n let match = false;\n if (filterFunc(searchValue, node)) {\n match = true;\n }\n const $slots = getSlots(node);\n const children = ($slots.default || []).map(mapFilteredNodeToData).filter(n => n);\n delete $slots.default;\n const slotsKey = Object.keys($slots);\n if (children.length || match) {\n return (\n <SelectNode {...node.data} key={valueEntities[getPropsData(node).value].key}>\n {children}\n {slotsKey.length\n ? slotsKey.map(name => {\n return (\n <template slot={name}>\n {$slots[name][0].tag === 'template' ? $slots[name][0].children : $slots[name]}\n </template>\n );\n })\n : null}\n </SelectNode>\n );\n }\n\n return null;\n }\n return treeNodes.map(mapFilteredNodeToData).filter(node => node);\n}\n\n// =================== Value ===================\n/**\n * Convert value to array format to make logic simplify.\n */\nexport function formatInternalValue(value, props) {\n const valueList = toArray(value);\n\n // Parse label in value\n if (isLabelInValue(props)) {\n return valueList.map(val => {\n if (typeof val !== 'object' || !val) {\n return {\n value: '',\n label: '',\n };\n }\n\n return val;\n });\n }\n\n return valueList.map(val => ({\n value: val,\n }));\n}\n\nexport function getLabel(wrappedValue, entity, treeNodeLabelProp) {\n if (wrappedValue.label) {\n return wrappedValue.label;\n }\n\n if (entity) {\n const props = getPropsData(entity.node);\n if (Object.keys(props).length) {\n return props[treeNodeLabelProp];\n }\n }\n\n // Since value without entity will be in missValueList.\n // This code will never reached, but we still need this in case.\n return wrappedValue.value;\n}\n\n/**\n * Convert internal state `valueList` to user needed value list.\n * This will return an array list. You need check if is not multiple when return.\n *\n * `allCheckedNodes` is used for `treeCheckStrictly`\n */\nexport function formatSelectorValue(valueList, props, valueEntities) {\n const { treeNodeLabelProp, treeCheckable, treeCheckStrictly, showCheckedStrategy } = props;\n\n // Will hide some value if `showCheckedStrategy` is set\n if (treeCheckable && !treeCheckStrictly) {\n const values = {};\n valueList.forEach(wrappedValue => {\n values[wrappedValue.value] = wrappedValue;\n });\n const hierarchyList = flatToHierarchy(valueList.map(({ value }) => valueEntities[value]));\n\n if (showCheckedStrategy === SHOW_PARENT) {\n // Only get the parent checked value\n return hierarchyList.map(({ node }) => {\n const value = getPropsData(node).value;\n return {\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n };\n });\n } else if (showCheckedStrategy === SHOW_CHILD) {\n // Only get the children checked value\n const targetValueList = [];\n\n // Find the leaf children\n const traverse = ({ node, children }) => {\n const value = getPropsData(node).value;\n if (!children || children.length === 0) {\n targetValueList.push({\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n });\n return;\n }\n\n children.forEach(entity => {\n traverse(entity);\n });\n };\n\n hierarchyList.forEach(entity => {\n traverse(entity);\n });\n\n return targetValueList;\n }\n }\n\n return valueList.map(wrappedValue => ({\n label: getLabel(wrappedValue, valueEntities[wrappedValue.value], treeNodeLabelProp),\n value: wrappedValue.value,\n }));\n}\n\n/**\n * Use `rc-tree` convertDataToTree to convert treeData to TreeNodes.\n * This will change the label to title value\n */\nfunction processProps(props) {\n const { title, label, value, class: cls, style, on = {} } = props;\n let key = props.key;\n if (!key && (key === undefined || key === null)) {\n key = value;\n }\n const p = {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on,\n class: cls || props.className,\n style: style,\n key,\n };\n // Warning user not to use deprecated label prop.\n if (label && !title) {\n if (!warnDeprecatedLabel) {\n warning(false, \"'label' in treeData is deprecated. Please use 'title' instead.\");\n warnDeprecatedLabel = true;\n }\n\n p.props.title = label;\n }\n\n return p;\n}\n\nexport function convertDataToTree(h, treeData) {\n return vcConvertDataToTree(h, treeData, { processProps });\n}\n\n/**\n * Use `rc-tree` convertTreeToEntities for entities calculation.\n * We have additional entities of `valueEntities`\n */\nfunction initWrapper(wrapper) {\n return {\n ...wrapper,\n valueEntities: {},\n };\n}\n\nfunction processEntity(entity, wrapper) {\n const value = getPropsData(entity.node).value;\n entity.value = value;\n\n // This should be empty, or will get error message.\n const currentEntity = wrapper.valueEntities[value];\n if (currentEntity) {\n warning(\n false,\n `Conflict! value of node '${entity.key}' (${value}) has already used by node '${\n currentEntity.key\n }'.`,\n );\n }\n wrapper.valueEntities[value] = entity;\n}\n\nexport function convertTreeToEntities(treeNodes) {\n return vcConvertTreeToEntities(treeNodes, {\n initWrapper,\n processEntity,\n });\n}\n\n/**\n * https://github.com/ant-design/ant-design/issues/13328\n * We need calculate the half check key when searchValue is set.\n */\n// TODO: This logic may better move to rc-tree\nexport function getHalfCheckedKeys(valueList, valueEntities) {\n const values = {};\n\n // Fill checked keys\n valueList.forEach(({ value }) => {\n values[value] = false;\n });\n\n // Fill half checked keys\n valueList.forEach(({ value }) => {\n let current = valueEntities[value];\n\n while (current && current.parent) {\n const parentValue = current.parent.value;\n if (parentValue in values) break;\n values[parentValue] = true;\n\n current = current.parent;\n }\n });\n\n // Get half keys\n return Object.keys(values)\n .filter(value => values[value])\n .map(value => valueEntities[value].key);\n}\n\nexport const conductCheck = rcConductCheck;\n","// based on rc-tree 1.14.9\n'use strict';\n\nmodule.exports = require('./src/');\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport warning from 'warning';\nimport { hasProp, initDefaultProps, getOptionProps, getSlots } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport proxyComponent from '../../_util/proxyComponent';\nimport {\n convertTreeToEntities,\n convertDataToTree,\n getPosition,\n getDragNodesKeys,\n parseCheckedKeys,\n conductExpandParent,\n calcSelectedKeys,\n calcDropPosition,\n arrAdd,\n arrDel,\n posToArr,\n mapChildren,\n conductCheck,\n warnOnlyTreeNode,\n} from './util';\n\n/**\n * Thought we still use `cloneElement` to pass `key`,\n * other props can pass with context for future refactor.\n */\n\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\n\nconst Tree = {\n name: 'Tree',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.any,\n treeData: PropTypes.array, // Generate treeNode by children\n showLine: PropTypes.bool,\n showIcon: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n focusable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n checkable: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n checkStrictly: PropTypes.bool,\n draggable: PropTypes.bool,\n defaultExpandParent: PropTypes.bool,\n autoExpandParent: PropTypes.bool,\n defaultExpandAll: PropTypes.bool,\n defaultExpandedKeys: PropTypes.array,\n expandedKeys: PropTypes.array,\n defaultCheckedKeys: PropTypes.array,\n checkedKeys: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n defaultSelectedKeys: PropTypes.array,\n selectedKeys: PropTypes.array,\n // onClick: PropTypes.func,\n // onDoubleClick: PropTypes.func,\n // onExpand: PropTypes.func,\n // onCheck: PropTypes.func,\n // onSelect: PropTypes.func,\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onRightClick: PropTypes.func,\n // onDragStart: PropTypes.func,\n // onDragEnter: PropTypes.func,\n // onDragOver: PropTypes.func,\n // onDragLeave: PropTypes.func,\n // onDragEnd: PropTypes.func,\n // onDrop: PropTypes.func,\n filterTreeNode: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n switcherIcon: PropTypes.any,\n _propsSymbol: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n warning(this.$props.children, 'please children prop replace slots.default');\n this.needSyncKeys = {};\n const state = {\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _expandedKeys: [],\n _selectedKeys: [],\n _checkedKeys: [],\n _halfCheckedKeys: [],\n _loadedKeys: [],\n _loadingKeys: [],\n _treeNode: [],\n _prevProps: null,\n _dragOverNodeKey: '',\n _dropPosition: null,\n _dragNodesKeys: [],\n };\n return {\n ...state,\n ...this.getDerivedStateFromProps(getOptionProps(this), state),\n };\n },\n provide() {\n return {\n vcTree: this,\n };\n },\n\n watch: {\n ...getWatch([\n 'treeData',\n 'children',\n 'expandedKeys',\n 'autoExpandParent',\n 'selectedKeys',\n 'checkedKeys',\n 'loadedKeys',\n ]),\n __propsSymbol__() {\n this.setState(this.getDerivedStateFromProps(getOptionProps(this), this.$data));\n this.needSyncKeys = {};\n },\n },\n\n methods: {\n getDerivedStateFromProps(props, prevState) {\n const { _prevProps } = prevState;\n const newState = {\n _prevProps: { ...props },\n };\n const self = this;\n function needSync(name) {\n return (!_prevProps && name in props) || (_prevProps && self.needSyncKeys[name]);\n }\n\n // ================== Tree Node ==================\n let treeNode = null;\n\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeNode = convertDataToTree(this.$createElement, props.treeData);\n } else if (needSync('children')) {\n treeNode = props.children;\n }\n\n // Tree support filter function which will break the tree structure in the vdm.\n // We cache the treeNodes in state so that we can return the treeNode in event trigger.\n if (treeNode) {\n newState._treeNode = treeNode;\n\n // Calculate the entities data for quick match\n const entitiesMap = convertTreeToEntities(treeNode);\n newState._posEntities = entitiesMap.posEntities;\n newState._keyEntities = entitiesMap.keyEntities;\n }\n\n const keyEntities = newState._keyEntities || prevState._keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || (_prevProps && needSync('autoExpandParent'))) {\n newState._expandedKeys =\n props.autoExpandParent || (!_prevProps && props.defaultExpandParent)\n ? conductExpandParent(props.expandedKeys, keyEntities)\n : props.expandedKeys;\n } else if (!_prevProps && props.defaultExpandAll) {\n newState._expandedKeys = [...keyEntities.keys()];\n } else if (!_prevProps && props.defaultExpandedKeys) {\n newState._expandedKeys =\n props.autoExpandParent || props.defaultExpandParent\n ? conductExpandParent(props.defaultExpandedKeys, keyEntities)\n : props.defaultExpandedKeys;\n }\n\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState._selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!_prevProps && props.defaultSelectedKeys) {\n newState._selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n\n // ================= checkedKeys =================\n if (props.checkable) {\n let checkedKeyEntity;\n\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!_prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeNode) {\n // If treeNode changed, we also need check it\n checkedKeyEntity = {\n checkedKeys: prevState._checkedKeys,\n halfCheckedKeys: prevState._halfCheckedKeys,\n };\n }\n\n if (checkedKeyEntity) {\n let { checkedKeys = [], halfCheckedKeys = [] } = checkedKeyEntity;\n\n if (!props.checkStrictly) {\n const conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n\n newState._checkedKeys = checkedKeys;\n newState._halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState._loadedKeys = props.loadedKeys;\n }\n\n return newState;\n },\n onNodeDragStart(event, node) {\n const { _expandedKeys } = this.$data;\n const { eventKey } = node;\n const children = getSlots(node).default;\n this.dragNode = node;\n\n this.setState({\n _dragNodesKeys: getDragNodesKeys(children, node),\n _expandedKeys: arrDel(_expandedKeys, eventKey),\n });\n this.__emit('dragstart', { event, node });\n },\n\n /**\n * [Legacy] Select handler is less small than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n onNodeDragEnter(event, node) {\n const { _expandedKeys: expandedKeys } = this.$data;\n const { pos, eventKey } = node;\n\n if (!this.dragNode || !node.$refs.selectHandle) return;\n\n const dropPosition = calcDropPosition(event, node);\n\n // Skip if drag node is self\n if (this.dragNode.eventKey === eventKey && dropPosition === 0) {\n this.setState({\n _dragOverNodeKey: '',\n _dropPosition: null,\n });\n return;\n }\n\n // Ref: https://github.com/react-component/tree/issues/132\n // Add timeout to let onDragLevel fire before onDragEnter,\n // so that we can clean drag props for onDragLeave node.\n // Macro task for this:\n // https://html.spec.whatwg.org/multipage/webappapis.html#clean-up-after-running-script\n setTimeout(() => {\n // Update drag over node\n this.setState({\n _dragOverNodeKey: eventKey,\n _dropPosition: dropPosition,\n });\n\n // Side effect for delay drag\n if (!this.delayedDragEnterLogic) {\n this.delayedDragEnterLogic = {};\n }\n Object.keys(this.delayedDragEnterLogic).forEach(key => {\n clearTimeout(this.delayedDragEnterLogic[key]);\n });\n this.delayedDragEnterLogic[pos] = setTimeout(() => {\n const newExpandedKeys = arrAdd(expandedKeys, eventKey);\n if (!hasProp(this, 'expandedKeys')) {\n this.setState({\n _expandedKeys: newExpandedKeys,\n });\n }\n this.__emit('dragenter', { event, node, expandedKeys: newExpandedKeys });\n }, 400);\n }, 0);\n },\n onNodeDragOver(event, node) {\n const { eventKey } = node;\n const { _dragOverNodeKey, _dropPosition } = this.$data;\n // Update drag position\n if (this.dragNode && eventKey === _dragOverNodeKey && node.$refs.selectHandle) {\n const dropPosition = calcDropPosition(event, node);\n\n if (dropPosition === _dropPosition) return;\n\n this.setState({\n _dropPosition: dropPosition,\n });\n }\n this.__emit('dragover', { event, node });\n },\n onNodeDragLeave(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragleave', { event, node });\n },\n onNodeDragEnd(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragend', { event, node });\n this.dragNode = null;\n },\n onNodeDrop(event, node) {\n const { _dragNodesKeys = [], _dropPosition } = this.$data;\n\n const { eventKey, pos } = node;\n\n this.setState({\n _dragOverNodeKey: '',\n });\n\n if (_dragNodesKeys.indexOf(eventKey) !== -1) {\n warning(false, \"Can not drop to dragNode(include it's children node)\");\n return;\n }\n\n const posArr = posToArr(pos);\n\n const dropResult = {\n event,\n node,\n dragNode: this.dragNode,\n dragNodesKeys: _dragNodesKeys.slice(),\n dropPosition: _dropPosition + Number(posArr[posArr.length - 1]),\n };\n\n if (_dropPosition !== 0) {\n dropResult.dropToGap = true;\n }\n this.__emit('drop', dropResult);\n this.dragNode = null;\n },\n\n onNodeClick(e, treeNode) {\n this.__emit('click', e, treeNode);\n },\n\n onNodeDoubleClick(e, treeNode) {\n this.__emit('doubleclick', e, treeNode);\n },\n\n onNodeSelect(e, treeNode) {\n let { _selectedKeys: selectedKeys } = this.$data;\n const { _keyEntities: keyEntities } = this.$data;\n const { multiple } = this.$props;\n const { selected, eventKey } = getOptionProps(treeNode);\n const targetSelected = !selected;\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, eventKey);\n } else if (!multiple) {\n selectedKeys = [eventKey];\n } else {\n selectedKeys = arrAdd(selectedKeys, eventKey);\n }\n\n // [Legacy] Not found related usage in doc or upper libs\n const selectedNodes = selectedKeys\n .map(key => {\n const entity = keyEntities.get(key);\n if (!entity) return null;\n\n return entity.node;\n })\n .filter(node => node);\n\n this.setUncontrolledState({ _selectedKeys: selectedKeys });\n\n const eventObj = {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes,\n nativeEvent: e,\n };\n this.__emit('update:selectedKeys', selectedKeys);\n this.__emit('select', selectedKeys, eventObj);\n },\n onNodeCheck(e, treeNode, checked) {\n const {\n _keyEntities: keyEntities,\n _checkedKeys: oriCheckedKeys,\n _halfCheckedKeys: oriHalfCheckedKeys,\n } = this.$data;\n const { checkStrictly } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n // Prepare trigger arguments\n let checkedObj;\n const eventObj = {\n event: 'check',\n node: treeNode,\n checked,\n nativeEvent: e,\n };\n\n if (checkStrictly) {\n const checkedKeys = checked\n ? arrAdd(oriCheckedKeys, eventKey)\n : arrDel(oriCheckedKeys, eventKey);\n const halfCheckedKeys = arrDel(oriHalfCheckedKeys, eventKey);\n checkedObj = { checked: checkedKeys, halfChecked: halfCheckedKeys };\n\n eventObj.checkedNodes = checkedKeys\n .map(key => keyEntities.get(key))\n .filter(entity => entity)\n .map(entity => entity.node);\n\n this.setUncontrolledState({ _checkedKeys: checkedKeys });\n } else {\n const { checkedKeys, halfCheckedKeys } = conductCheck([eventKey], checked, keyEntities, {\n checkedKeys: oriCheckedKeys,\n halfCheckedKeys: oriHalfCheckedKeys,\n });\n\n checkedObj = checkedKeys;\n\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = halfCheckedKeys;\n\n checkedKeys.forEach(key => {\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { node, pos } = entity;\n\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({ node, pos });\n });\n\n this.setUncontrolledState({\n _checkedKeys: checkedKeys,\n _halfCheckedKeys: halfCheckedKeys,\n });\n }\n this.__emit('check', checkedObj, eventObj);\n },\n onNodeLoad(treeNode) {\n return new Promise(resolve => {\n // We need to get the latest state of loading/loaded keys\n this.setState(({ _loadedKeys: loadedKeys = [], _loadingKeys: loadingKeys = [] }) => {\n const { loadData } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n if (\n !loadData ||\n loadedKeys.indexOf(eventKey) !== -1 ||\n loadingKeys.indexOf(eventKey) !== -1\n ) {\n return {};\n }\n\n // Process load data\n const promise = loadData(treeNode);\n promise.then(() => {\n const newLoadedKeys = arrAdd(this.$data._loadedKeys, eventKey);\n const newLoadingKeys = arrDel(this.$data._loadingKeys, eventKey);\n\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n const eventObj = {\n event: 'load',\n node: treeNode,\n };\n this.__emit('load', newLoadedKeys, eventObj);\n this.setUncontrolledState({\n _loadedKeys: newLoadedKeys,\n });\n this.setState({\n _loadingKeys: newLoadingKeys,\n });\n resolve();\n });\n\n return {\n _loadingKeys: arrAdd(loadingKeys, eventKey),\n };\n });\n });\n },\n\n onNodeExpand(e, treeNode) {\n let { _expandedKeys: expandedKeys } = this.$data;\n const { loadData } = this.$props;\n const { eventKey, expanded } = getOptionProps(treeNode);\n\n // Update selected keys\n const index = expandedKeys.indexOf(eventKey);\n const targetExpanded = !expanded;\n\n warning(\n (expanded && index !== -1) || (!expanded && index === -1),\n 'Expand state not sync with index check',\n );\n\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, eventKey);\n } else {\n expandedKeys = arrDel(expandedKeys, eventKey);\n }\n\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n this.__emit('expand', expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e,\n });\n this.__emit('update:expandedKeys', expandedKeys);\n\n // Async Load data\n if (targetExpanded && loadData) {\n const loadPromise = this.onNodeLoad(treeNode);\n return loadPromise\n ? loadPromise.then(() => {\n // [Legacy] Refresh logic\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n })\n : null;\n }\n\n return null;\n },\n\n onNodeMouseEnter(event, node) {\n this.__emit('mouseenter', { event, node });\n },\n\n onNodeMouseLeave(event, node) {\n this.__emit('mouseleave', { event, node });\n },\n\n onNodeContextMenu(event, node) {\n event.preventDefault();\n this.__emit('rightClick', { event, node });\n },\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState(state) {\n let needSync = false;\n const newState = {};\n const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.replace('_', '') in props) return;\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n },\n\n isKeyChecked(key) {\n const { _checkedKeys: checkedKeys = [] } = this.$data;\n return checkedKeys.indexOf(key) !== -1;\n },\n\n /**\n * [Legacy] Original logic use `key` as tracking clue.\n * We have to use `cloneElement` to pass `key`.\n */\n renderTreeNode(child, index, level = 0) {\n const {\n _keyEntities: keyEntities,\n _expandedKeys: expandedKeys = [],\n _selectedKeys: selectedKeys = [],\n _halfCheckedKeys: halfCheckedKeys = [],\n _loadedKeys: loadedKeys = [],\n _loadingKeys: loadingKeys = [],\n _dragOverNodeKey: dragOverNodeKey,\n _dropPosition: dropPosition,\n } = this.$data;\n const pos = getPosition(level, index);\n let key = child.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n if (!keyEntities.get(key)) {\n warnOnlyTreeNode();\n return null;\n }\n\n return cloneElement(child, {\n props: {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: this.isKeyChecked(key),\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos,\n\n // [Legacy] Drag props\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1,\n },\n key,\n });\n },\n },\n\n render() {\n const { _treeNode: treeNode } = this.$data;\n const { prefixCls, focusable, showLine, tabIndex = 0 } = this.$props;\n const domProps = {};\n\n return (\n <ul\n {...domProps}\n class={classNames(prefixCls, {\n [`${prefixCls}-show-line`]: showLine,\n })}\n role=\"tree\"\n unselectable=\"on\"\n tabIndex={focusable ? tabIndex : null}\n onKeydown={focusable ? this.onKeydown : () => {}}\n >\n {mapChildren(treeNode, (node, index) => this.renderTreeNode(node, index))}\n </ul>\n );\n },\n};\n\nexport { Tree };\n\nexport default proxyComponent(Tree);\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport { getNodeChildren, mapChildren, warnOnlyTreeNode } from './util';\nimport { initDefaultProps, filterEmpty, getComponentFromProp } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport getTransitionProps from '../../_util/getTransitionProps';\nimport { cloneElement } from '../../_util/vnode';\n\nfunction noop() {}\nconst ICON_OPEN = 'open';\nconst ICON_CLOSE = 'close';\n\nconst defaultTitle = '---';\n\nconst TreeNode = {\n name: 'TreeNode',\n mixins: [BaseMixin],\n __ANT_TREE_NODE: true,\n props: initDefaultProps(\n {\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), // Pass by parent `cloneElement`\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n root: PropTypes.object,\n // onSelect: PropTypes.func,\n\n // By parent\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n checked: PropTypes.bool,\n loaded: PropTypes.bool,\n loading: PropTypes.bool,\n halfChecked: PropTypes.bool,\n title: PropTypes.any,\n pos: PropTypes.string,\n dragOver: PropTypes.bool,\n dragOverGapTop: PropTypes.bool,\n dragOverGapBottom: PropTypes.bool,\n\n // By user\n isLeaf: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n disableCheckbox: PropTypes.bool,\n icon: PropTypes.any,\n dataRef: PropTypes.object,\n switcherIcon: PropTypes.any,\n\n label: PropTypes.any,\n value: PropTypes.any,\n },\n {},\n ),\n\n data() {\n return {\n dragNodeHighlight: false,\n };\n },\n inject: {\n vcTree: { default: () => ({}) },\n vcTreeNode: { default: () => ({}) },\n },\n provide() {\n return {\n vcTreeNode: this,\n };\n },\n\n // Isomorphic needn't load data in server side\n mounted() {\n this.syncLoadData(this.$props);\n },\n updated() {\n this.syncLoadData(this.$props);\n },\n\n methods: {\n onSelectorClick(e) {\n // Click trigger before select/check operation\n const {\n vcTree: { onNodeClick },\n } = this;\n onNodeClick(e, this);\n if (this.isSelectable()) {\n this.onSelect(e);\n } else {\n this.onCheck(e);\n }\n },\n\n onSelectorDoubleClick(e) {\n const {\n vcTree: { onNodeDoubleClick },\n } = this;\n onNodeDoubleClick(e, this);\n },\n\n onSelect(e) {\n if (this.isDisabled()) return;\n\n const {\n vcTree: { onNodeSelect },\n } = this;\n e.preventDefault();\n onNodeSelect(e, this);\n },\n\n onCheck(e) {\n if (this.isDisabled()) return;\n\n const { disableCheckbox, checked } = this;\n const {\n vcTree: { checkable, onNodeCheck },\n } = this;\n\n if (!checkable || disableCheckbox) return;\n\n e.preventDefault();\n const targetChecked = !checked;\n onNodeCheck(e, this, targetChecked);\n },\n\n onMouseEnter(e) {\n const {\n vcTree: { onNodeMouseEnter },\n } = this;\n onNodeMouseEnter(e, this);\n },\n\n onMouseLeave(e) {\n const {\n vcTree: { onNodeMouseLeave },\n } = this;\n onNodeMouseLeave(e, this);\n },\n\n onContextMenu(e) {\n const {\n vcTree: { onNodeContextMenu },\n } = this;\n onNodeContextMenu(e, this);\n },\n\n onDragStart(e) {\n const {\n vcTree: { onNodeDragStart },\n } = this;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: true,\n });\n onNodeDragStart(e, this);\n\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n },\n\n onDragEnter(e) {\n const {\n vcTree: { onNodeDragEnter },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, this);\n },\n\n onDragOver(e) {\n const {\n vcTree: { onNodeDragOver },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, this);\n },\n\n onDragLeave(e) {\n const {\n vcTree: { onNodeDragLeave },\n } = this;\n\n e.stopPropagation();\n onNodeDragLeave(e, this);\n },\n\n onDragEnd(e) {\n const {\n vcTree: { onNodeDragEnd },\n } = this;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDragEnd(e, this);\n },\n\n onDrop(e) {\n const {\n vcTree: { onNodeDrop },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDrop(e, this);\n },\n\n // Disabled item still can be switch\n onExpand(e) {\n const {\n vcTree: { onNodeExpand },\n } = this;\n onNodeExpand(e, this);\n },\n\n getNodeChildren() {\n const {\n $slots: { default: children },\n } = this;\n const originList = filterEmpty(children);\n const targetList = getNodeChildren(originList);\n\n if (originList.length !== targetList.length) {\n warnOnlyTreeNode();\n }\n\n return targetList;\n },\n\n getNodeState() {\n const { expanded } = this;\n\n if (this.isLeaf2()) {\n return null;\n }\n\n return expanded ? ICON_OPEN : ICON_CLOSE;\n },\n\n isLeaf2() {\n const { isLeaf, loaded } = this;\n const {\n vcTree: { loadData },\n } = this;\n\n const hasChildren = this.getNodeChildren().length !== 0;\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || (!loadData && !hasChildren) || (loadData && loaded && !hasChildren);\n },\n\n isDisabled() {\n const { disabled } = this;\n const {\n vcTree: { disabled: treeDisabled },\n } = this;\n\n // Follow the logic of Selectable\n if (disabled === false) {\n return false;\n }\n\n return !!(treeDisabled || disabled);\n },\n\n isSelectable() {\n const { selectable } = this;\n const {\n vcTree: { selectable: treeSelectable },\n } = this;\n\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n\n return treeSelectable;\n },\n\n // Load data to avoid default expanded tree without data\n syncLoadData(props) {\n const { expanded, loading, loaded } = props;\n const {\n vcTree: { loadData, onNodeLoad },\n } = this;\n if (loading) return;\n // read from state to avoid loadData at same time\n if (loadData && expanded && !this.isLeaf2()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n const hasChildren = this.getNodeChildren().length !== 0;\n if (!hasChildren && !loaded) {\n onNodeLoad(this);\n }\n }\n },\n\n // Switcher\n renderSwitcher() {\n const { expanded } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n const switcherIcon =\n getComponentFromProp(this, 'switcherIcon', {}, false) ||\n getComponentFromProp(this.vcTree, 'switcherIcon', {}, false);\n if (this.isLeaf2()) {\n return (\n <span\n key=\"switcher\"\n class={classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher-noop`)}\n >\n {typeof switcherIcon === 'function'\n ? cloneElement(switcherIcon({ ...this.$props, isLeaf: true }))\n : switcherIcon}\n </span>\n );\n }\n\n const switcherCls = classNames(\n `${prefixCls}-switcher`,\n `${prefixCls}-switcher_${expanded ? ICON_OPEN : ICON_CLOSE}`,\n );\n return (\n <span key=\"switcher\" onClick={this.onExpand} class={switcherCls}>\n {typeof switcherIcon === 'function'\n ? cloneElement(switcherIcon({ ...this.$props, isLeaf: false }))\n : switcherIcon}\n </span>\n );\n },\n\n // Checkbox\n renderCheckbox() {\n const { checked, halfChecked, disableCheckbox } = this;\n const {\n vcTree: { prefixCls, checkable },\n } = this;\n const disabled = this.isDisabled();\n\n if (!checkable) return null;\n\n // [Legacy] Custom element should be separate with `checkable` in future\n const $custom = typeof checkable !== 'boolean' ? checkable : null;\n\n return (\n <span\n key=\"checkbox\"\n class={classNames(\n `${prefixCls}-checkbox`,\n checked && `${prefixCls}-checkbox-checked`,\n !checked && halfChecked && `${prefixCls}-checkbox-indeterminate`,\n (disabled || disableCheckbox) && `${prefixCls}-checkbox-disabled`,\n )}\n onClick={this.onCheck}\n >\n {$custom}\n </span>\n );\n },\n\n renderIcon() {\n const { loading } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n\n return (\n <span\n key=\"icon\"\n class={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__${this.getNodeState() || 'docu'}`,\n loading && `${prefixCls}-icon_loading`,\n )}\n />\n );\n },\n\n // Icon + Title\n renderSelector(h) {\n const { selected, icon, loading, dragNodeHighlight } = this;\n const {\n vcTree: { prefixCls, showIcon, icon: treeIcon, draggable, loadData },\n } = this;\n const disabled = this.isDisabled();\n const title = getComponentFromProp(this, 'title') || defaultTitle;\n const wrapClass = `${prefixCls}-node-content-wrapper`;\n\n // Icon - Still show loading icon when loading without showIcon\n let $icon;\n\n if (showIcon) {\n const currentIcon = icon || treeIcon;\n $icon = currentIcon ? (\n <span class={classNames(`${prefixCls}-iconEle`, `${prefixCls}-icon__customize`)}>\n {typeof currentIcon === 'function' ? currentIcon({ ...this.$props }, h) : currentIcon}\n </span>\n ) : (\n this.renderIcon()\n );\n } else if (loadData && loading) {\n $icon = this.renderIcon();\n }\n\n // Title\n const $title = <span class={`${prefixCls}-title`}>{title}</span>;\n\n return (\n <span\n key=\"selector\"\n ref=\"selectHandle\"\n title={typeof title === 'string' ? title : ''}\n class={classNames(\n `${wrapClass}`,\n `${wrapClass}-${this.getNodeState() || 'normal'}`,\n !disabled && (selected || dragNodeHighlight) && `${prefixCls}-node-selected`,\n !disabled && draggable && 'draggable',\n )}\n draggable={(!disabled && draggable) || undefined}\n aria-grabbed={(!disabled && draggable) || undefined}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n onContextmenu={this.onContextMenu}\n onClick={this.onSelectorClick}\n onDoubleclick={this.onSelectorDoubleClick}\n onDragstart={draggable ? this.onDragStart : noop}\n >\n {$icon}\n {$title}\n </span>\n );\n },\n\n // Children list wrapped with `Animation`\n renderChildren() {\n const { expanded, pos } = this;\n const {\n vcTree: { prefixCls, openTransitionName, openAnimation, renderTreeNode },\n } = this;\n\n let animProps = {};\n if (openTransitionName) {\n animProps = getTransitionProps(openTransitionName);\n } else if (typeof openAnimation === 'object') {\n animProps = { ...openAnimation };\n animProps.props = { css: false, ...animProps.props };\n }\n\n // Children TreeNode\n const nodeList = this.getNodeChildren();\n\n if (nodeList.length === 0) {\n return null;\n }\n\n let $children;\n if (expanded) {\n $children = (\n <ul\n class={classNames(\n `${prefixCls}-child-tree`,\n expanded && `${prefixCls}-child-tree-open`,\n )}\n data-expanded={expanded}\n role=\"group\"\n >\n {mapChildren(nodeList, (node, index) => renderTreeNode(node, index, pos))}\n </ul>\n );\n }\n\n return <transition {...animProps}>{$children}</transition>;\n },\n },\n\n render(h) {\n const {\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n isLeaf,\n expanded,\n selected,\n checked,\n halfChecked,\n loading,\n } = this.$props;\n const {\n vcTree: { prefixCls, filterTreeNode, draggable },\n } = this;\n const disabled = this.isDisabled();\n return (\n <li\n class={{\n [`${prefixCls}-treenode-disabled`]: disabled,\n [`${prefixCls}-treenode-switcher-${expanded ? 'open' : 'close'}`]: !isLeaf,\n [`${prefixCls}-treenode-checkbox-checked`]: checked,\n [`${prefixCls}-treenode-checkbox-indeterminate`]: halfChecked,\n [`${prefixCls}-treenode-selected`]: selected,\n [`${prefixCls}-treenode-loading`]: loading,\n 'drag-over': !disabled && dragOver,\n 'drag-over-gap-top': !disabled && dragOverGapTop,\n 'drag-over-gap-bottom': !disabled && dragOverGapBottom,\n 'filter-node': filterTreeNode && filterTreeNode(this),\n }}\n role=\"treeitem\"\n onDragenter={draggable ? this.onDragEnter : noop}\n onDragover={draggable ? this.onDragOver : noop}\n onDragleave={draggable ? this.onDragLeave : noop}\n onDrop={draggable ? this.onDrop : noop}\n onDragend={draggable ? this.onDragEnd : noop}\n >\n {this.renderSwitcher()}\n {this.renderCheckbox()}\n {this.renderSelector(h)}\n {this.renderChildren()}\n </li>\n );\n },\n};\n\nTreeNode.isTreeNode = 1;\n\nexport default TreeNode;\n","import ProxyTree, { Tree } from './Tree';\nimport TreeNode from './TreeNode';\nTree.TreeNode = TreeNode;\nProxyTree.TreeNode = TreeNode;\n\nexport { Tree, TreeNode };\nexport default ProxyTree;\n","/* eslint no-loop-func: 0*/\nimport warning from 'warning';\nimport omit from 'omit.js';\nimport TreeNode from './TreeNode';\nimport { getSlotOptions, getOptionProps } from '../../_util/props-util';\nconst DRAG_SIDE_RANGE = 0.25;\nconst DRAG_MIN_GAP = 2;\n\nlet onlyTreeNodeWarned = false;\n\nexport function warnOnlyTreeNode() {\n if (onlyTreeNodeWarned) return;\n\n onlyTreeNodeWarned = true;\n warning(false, 'Tree only accept TreeNode as children.');\n}\n\nexport function arrDel(list, value) {\n const clone = list.slice();\n const index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\n\nexport function arrAdd(list, value) {\n const clone = list.slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\n\nexport function posToArr(pos) {\n return pos.split('-');\n}\n\nexport function getPosition(level, index) {\n return `${level}-${index}`;\n}\n\nexport function isTreeNode(node) {\n return getSlotOptions(node).isTreeNode;\n}\n\nexport function getNodeChildren(children = []) {\n return children.filter(isTreeNode);\n}\n\nexport function isCheckDisabled(node) {\n const { disabled, disableCheckbox } = getOptionProps(node) || {};\n return !!(disabled || disableCheckbox);\n}\n\nexport function traverseTreeNodes(treeNodes, callback) {\n function processNode(node, index, parent) {\n const children = node ? node.componentOptions.children : treeNodes;\n const pos = node ? getPosition(parent.pos, index) : 0;\n\n // Filter children\n const childList = getNodeChildren(children);\n\n // Process node if is not root\n if (node) {\n let key = node.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n const data = {\n node,\n index,\n pos,\n key,\n parentPos: parent.node ? parent.pos : null,\n };\n callback(data);\n }\n\n // Process children node\n childList.forEach((subNode, subIndex) => {\n processNode(subNode, subIndex, { node, pos });\n });\n }\n\n processNode(null);\n}\n\n/**\n * Use `rc-util` `toArray` to get the children list which keeps the key.\n * And return single node if children is only one(This can avoid `key` missing check).\n */\nexport function mapChildren(children = [], func) {\n const list = children.map(func);\n if (list.length === 1) {\n return list[0];\n }\n return list;\n}\n\nexport function getDragNodesKeys(treeNodes, node) {\n const { eventKey, pos } = getOptionProps(node);\n const dragNodesKeys = [];\n\n traverseTreeNodes(treeNodes, ({ key }) => {\n dragNodesKeys.push(key);\n });\n dragNodesKeys.push(eventKey || pos);\n return dragNodesKeys;\n}\n\nexport function calcDropPosition(event, treeNode) {\n const { clientY } = event;\n const { top, bottom, height } = treeNode.$refs.selectHandle.getBoundingClientRect();\n const des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);\n\n if (clientY <= top + des) {\n return -1;\n } else if (clientY >= bottom - des) {\n return 1;\n }\n return 0;\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) {\n return undefined;\n }\n\n const { multiple } = props;\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\n\n/**\n * Since React internal will convert key to string,\n * we need do this to avoid `checkStrictly` use number match\n */\n// function keyListToString (keyList) {\n// if (!keyList) return keyList\n// return keyList.map(key => String(key))\n// }\n\nconst internalProcessProps = (props = {}) => {\n return {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on: props.on || {},\n class: props.class || props.className,\n style: props.style,\n key: props.key,\n };\n};\nexport function convertDataToTree(h, treeData, processer) {\n if (!treeData) return [];\n\n const { processProps = internalProcessProps } = processer || {};\n const list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(({ children, ...props }) => {\n const childrenNodes = convertDataToTree(h, children, processer);\n return <TreeNode {...processProps(props)}>{childrenNodes}</TreeNode>;\n });\n}\n\n// TODO: ========================= NEW LOGIC =========================\n/**\n * Calculate treeNodes entities. `processTreeEntity` is used for `rc-tree-select`\n * @param treeNodes\n * @param processTreeEntity User can customize the entity\n */\nexport function convertTreeToEntities(\n treeNodes,\n { initWrapper, processEntity, onProcessFinished } = {},\n) {\n const posEntities = new Map();\n const keyEntities = new Map();\n let wrapper = {\n posEntities,\n keyEntities,\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseTreeNodes(treeNodes, item => {\n const { node, index, pos, key, parentPos } = item;\n const entity = { node, index, key, pos };\n\n posEntities.set(pos, entity);\n keyEntities.set(key, entity);\n\n // Fill children\n entity.parent = posEntities.get(parentPos);\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n });\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n let keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined,\n };\n } else if (typeof keys === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined,\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n\n // keyProps.checkedKeys = keyListToString(keyProps.checkedKeys)\n // keyProps.halfCheckedKeys = keyListToString(keyProps.halfCheckedKeys)\n\n return keyProps;\n}\n\n/**\n * Conduct check state by the keyList. It will conduct up & from the provided key.\n * If the conduct path reach the disabled or already checked / unchecked node will stop conduct.\n * @param keyList list of keys\n * @param isCheck is check the node or not\n * @param keyEntities parsed by `convertTreeToEntities` function in Tree\n * @param checkStatus Can pass current checked status for process (usually for uncheck operation)\n * @returns {{checkedKeys: [], halfCheckedKeys: []}}\n */\nexport function conductCheck(keyList, isCheck, keyEntities, checkStatus = {}) {\n const checkedKeys = new Map();\n const halfCheckedKeys = new Map(); // Record the key has some child checked (include child half checked)\n\n (checkStatus.checkedKeys || []).forEach(key => {\n checkedKeys.set(key, true);\n });\n\n (checkStatus.halfCheckedKeys || []).forEach(key => {\n halfCheckedKeys.set(key, true);\n });\n\n // Conduct up\n function conductUp(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, parent, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n // Check child node checked status\n let everyChildChecked = true;\n let someChildChecked = false; // Child checked or half checked\n\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(({ key: childKey }) => {\n const childChecked = checkedKeys.get(childKey);\n const childHalfChecked = halfCheckedKeys.get(childKey);\n\n if (childChecked || childHalfChecked) someChildChecked = true;\n if (!childChecked) everyChildChecked = false;\n });\n\n // Update checked status\n if (isCheck) {\n checkedKeys.set(key, everyChildChecked);\n } else {\n checkedKeys.set(key, false);\n }\n halfCheckedKeys.set(key, someChildChecked);\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n // Conduct down\n function conductDown(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n checkedKeys.set(key, isCheck);\n\n (children || []).forEach(child => {\n conductDown(child.key);\n });\n }\n\n function conduct(key) {\n const entity = keyEntities.get(key);\n\n if (!entity) {\n warning(false, `'${key}' does not exist in the tree.`);\n return;\n }\n const { children, parent, node } = entity;\n checkedKeys.set(key, isCheck);\n\n if (isCheckDisabled(node)) return;\n\n // Conduct down\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(child => {\n conductDown(child.key);\n });\n\n // Conduct up\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conduct(key);\n });\n\n const checkedKeyList = [];\n const halfCheckedKeyList = [];\n\n // Fill checked list\n for (const [key, value] of checkedKeys) {\n if (value) {\n checkedKeyList.push(key);\n }\n }\n\n // Fill half checked list\n for (const [key, value] of halfCheckedKeys) {\n if (!checkedKeys.get(key) && value) {\n halfCheckedKeyList.push(key);\n }\n }\n\n return {\n checkedKeys: checkedKeyList,\n halfCheckedKeys: halfCheckedKeyList,\n };\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n const expandedKeys = new Map();\n\n function conductUp(key) {\n if (expandedKeys.get(key)) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n expandedKeys.set(key, true);\n\n const { parent, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conductUp(key);\n });\n\n return [...expandedKeys.keys()];\n}\n\n/**\n * Returns only the data- and aria- key/value pairs\n * @param {object} props\n */\nexport function getDataAndAria(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n },\n render() {\n const { hiddenClassName, visible } = this.$props;\n let children = null;\n if (hiddenClassName || !this.$slots.default || this.$slots.default.length > 1) {\n const cls = '';\n if (!visible && hiddenClassName) {\n // cls += ` ${hiddenClassName}`\n }\n children = <div class={cls}>{this.$slots.default}</div>;\n } else {\n children = this.$slots.default[0];\n }\n return children;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Align from '../vc-align';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport animate from '../_util/css-animation';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n visible: PropTypes.bool,\n getClassNameFromAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n prefixCls: PropTypes.string,\n getContainer: PropTypes.func,\n transitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.string,\n maskTransitionName: PropTypes.string,\n mask: PropTypes.bool,\n zIndex: PropTypes.number,\n popupClassName: PropTypes.any,\n popupStyle: PropTypes.object.def({}),\n stretch: PropTypes.string,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number,\n }),\n },\n data() {\n return {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n });\n },\n updated() {\n this.$nextTick(() => {\n this.setStretchSize();\n });\n },\n beforeDestroy() {\n this.$el.remove();\n },\n methods: {\n onAlign(popupDomNode, align) {\n const props = this.$props;\n const currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (this.currentAlignClassName !== currentAlignClassName) {\n this.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = this.getClassName(currentAlignClassName);\n }\n this.$listeners.align && this.$listeners.align(popupDomNode, align);\n },\n\n // Record size if stretch needed\n setStretchSize() {\n const { stretch, getRootDomNode, visible } = this.$props;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n this.setState({ stretchChecked: false });\n }\n return;\n }\n\n const $ele = getRootDomNode();\n if (!$ele) return;\n\n const height = $ele.offsetHeight;\n const width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n this.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width,\n });\n }\n },\n\n getPopupDomNode() {\n return this.$refs.popupInstance ? this.$refs.popupInstance.$el : null;\n },\n\n getTargetElement() {\n return this.$props.getRootDomNode();\n },\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n getAlignTarget() {\n const { point } = this.$props;\n if (point) {\n return point;\n }\n return this.getTargetElement;\n },\n\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName) {\n if (typeof animation === 'string') {\n transitionName = `${animation}`;\n } else if (animation && animation.props && animation.props.name) {\n transitionName = animation.props.name;\n }\n }\n return transitionName;\n },\n\n getClassName(currentAlignClassName) {\n return `${this.$props.prefixCls} ${this.$props.popupClassName} ${currentAlignClassName}`;\n },\n getPopupElement() {\n const { $props: props, $slots, $listeners, getTransitionName } = this;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n const {\n align,\n visible,\n prefixCls,\n animation,\n popupStyle,\n getClassNameFromAlign,\n destroyPopupOnHide,\n stretch,\n } = props;\n // const { mouseenter, mouseleave } = $listeners\n const className = this.getClassName(\n this.currentAlignClassName || getClassNameFromAlign(align),\n );\n // const hiddenClassName = `${prefixCls}-hidden`\n if (!visible) {\n this.currentAlignClassName = null;\n }\n const sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight =\n typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n // sizeStyle.visibility = 'hidden'\n setTimeout(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n const popupInnerProps = {\n props: {\n prefixCls,\n visible,\n // hiddenClassName,\n },\n class: className,\n on: $listeners,\n ref: 'popupInstance',\n style: { ...sizeStyle, ...popupStyle, ...this.getZIndexStyle() },\n };\n let transitionProps = {\n props: Object.assign({\n appear: true,\n css: false,\n }),\n };\n const transitionName = getTransitionName();\n let useTransition = !!transitionName;\n const transitionEvent = {\n beforeEnter: () => {\n // el.style.display = el.__vOriginalDisplay\n // this.$refs.alignInstance.forceAlign()\n },\n enter: (el, done) => {\n // align updated后执行动画\n this.$nextTick(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.$nextTick(() => {\n animate(el, `${transitionName}-enter`, done);\n });\n }\n });\n },\n leave: (el, done) => {\n animate(el, `${transitionName}-leave`, done);\n },\n };\n\n if (typeof animation === 'object') {\n useTransition = true;\n const { on = {}, props = {} } = animation;\n transitionProps.props = { ...transitionProps.props, ...props };\n transitionProps.on = { ...transitionEvent, ...on };\n } else {\n transitionProps.on = transitionEvent;\n }\n if (!useTransition) {\n transitionProps = {};\n }\n if (destroyPopupOnHide) {\n return (\n <transition {...transitionProps}>\n {visible ? (\n <Align\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n ) : null}\n </transition>\n );\n }\n return (\n <transition {...transitionProps}>\n <Align\n v-show={visible}\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n disabled={!visible}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n </transition>\n );\n },\n\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n\n getMaskElement() {\n const props = this.$props;\n let maskElement = null;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getZIndexStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n visible={props.visible}\n />\n );\n if (maskTransition) {\n maskElement = (\n <transition appear name={maskTransition}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n },\n\n render() {\n const { getMaskElement, getPopupElement } = this;\n return (\n <div>\n {getMaskElement()}\n {getPopupElement()}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nexport default {\n props: {\n hiddenClassName: PropTypes.string.def(''),\n prefixCls: PropTypes.string,\n visible: PropTypes.bool,\n },\n render() {\n const { prefixCls, visible, hiddenClassName } = this.$props;\n const { $listeners } = this;\n const divProps = {\n on: $listeners,\n };\n\n return (\n <div {...divProps} class={!visible ? hiddenClassName : ''}>\n <LazyRenderBox class={`${prefixCls}-content`} visible={visible}>\n {this.$slots.default}\n </LazyRenderBox>\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../_util/vue-types';\nimport contains from '../_util/Dom/contains';\nimport { hasProp, getComponentFromProp, getEvents, filterEmpty } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport addEventListener from '../_util/Dom/addEventListener';\nimport warning from '../_util/warning';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName, noop } from './utils';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport ContainerRender from '../_util/ContainerRender';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\nconst ALL_HANDLERS = [\n 'click',\n 'mousedown',\n 'touchstart',\n 'mouseenter',\n 'mouseleave',\n 'focus',\n 'blur',\n 'contextmenu',\n];\n\nexport default {\n name: 'Trigger',\n mixins: [BaseMixin],\n props: {\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n // onPopupVisibleChange: PropTypes.func.def(noop),\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n popupStyle: PropTypes.object.def({}),\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool.def(false),\n mask: PropTypes.bool.def(false),\n maskClosable: PropTypes.bool.def(true),\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def({}),\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool.def(false),\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool, // Maybe we can support user pass position in the future\n },\n provide() {\n return {\n vcTriggerContext: this,\n };\n },\n inject: {\n vcTriggerContext: { default: () => ({}) },\n },\n data() {\n const props = this.$props;\n let popupVisible;\n if (hasProp(this, 'popupVisible')) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n return {\n sPopupVisible: popupVisible,\n point: null,\n };\n },\n watch: {\n popupVisible(val) {\n if (val !== undefined) {\n this.sPopupVisible = val;\n }\n },\n sPopupVisible(val) {\n this.$nextTick(() => {\n this.renderComponent(null, () => {\n this.afterPopupVisibleChange(val);\n });\n });\n },\n },\n\n beforeCreate() {\n ALL_HANDLERS.forEach(h => {\n this[`fire${h}`] = e => {\n this.fireEvents(h, e);\n };\n });\n },\n\n mounted() {\n this.$nextTick(() => {\n this.renderComponent(null);\n this.updatedCal();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n\n beforeDestroy() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n },\n methods: {\n updatedCal() {\n const props = this.$props;\n const state = this.$data;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(\n currentDocument,\n 'mousedown',\n this.onDocumentClick,\n );\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(\n currentDocument,\n 'touchstart',\n this.onDocumentClick,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextmenuOutsideHandler1 = addEventListener(\n currentDocument,\n 'scroll',\n this.onContextmenuClose,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(\n window,\n 'blur',\n this.onContextmenuClose,\n );\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter(e) {\n const { mouseEnterDelay } = this.$props;\n this.fireEvents('mouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n\n onMouseMove(e) {\n this.fireEvents('mousemove', e);\n this.setPoint(e);\n },\n\n onMouseleave(e) {\n this.fireEvents('mouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onPopupMouseenter() {\n this.clearDelayTimer();\n },\n\n onPopupMouseleave(e) {\n if (\n e &&\n e.relatedTarget &&\n !e.relatedTarget.setTimeout &&\n this._component &&\n this._component.getPopupDomNode &&\n contains(this._component.getPopupDomNode(), e.relatedTarget)\n ) {\n return;\n }\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onFocus(e) {\n this.fireEvents('focus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.$props.focusDelay);\n }\n },\n\n onMousedown(e) {\n this.fireEvents('mousedown', e);\n this.preClickTime = Date.now();\n },\n\n onTouchstart(e) {\n this.fireEvents('touchstart', e);\n this.preTouchTime = Date.now();\n },\n\n onBlur(e) {\n this.fireEvents('blur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n },\n\n onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('contextmenu', e);\n this.setPopupVisible(true, e);\n },\n\n onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n\n onClick(event) {\n this.fireEvents('click', event);\n // focus will trigger click\n if (this.focusTime) {\n let preTime;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n const nextVisible = !this.$data.sPopupVisible;\n if ((this.isClickToHide() && !nextVisible) || (nextVisible && this.isClickToShow())) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown(...args) {\n const { vcTriggerContext = {} } = this;\n this.hasPopupMouseDown = true;\n\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(() => {\n this.hasPopupMouseDown = false;\n }, 0);\n\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown(...args);\n }\n },\n\n onDocumentClick(event) {\n if (this.$props.mask && !this.$props.maskClosable) {\n return;\n }\n const target = event.target;\n const root = this.$el;\n if (!contains(root, target) && !this.hasPopupMouseDown) {\n this.close();\n }\n },\n getPopupDomNode() {\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n },\n\n getRootDomNode() {\n return this.$el;\n // return this.$el.children[0] || this.$el\n },\n\n handleGetPopupClassFromAlign(align) {\n const className = [];\n const props = this.$props;\n const {\n popupPlacement,\n builtinPlacements,\n prefixCls,\n alignPoint,\n getPopupClassNameFromAlign,\n } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n },\n\n getPopupAlign() {\n const props = this.$props;\n const { popupPlacement, popupAlign, builtinPlacements } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n },\n savePopup(node) {\n this._component = node;\n },\n getComponent() {\n const self = this;\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.mouseenter = self.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.mouseleave = self.onPopupMouseleave;\n }\n mouseProps.mousedown = this.onPopupMouseDown;\n mouseProps.touchstart = this.onPopupMouseDown;\n const { handleGetPopupClassFromAlign, getRootDomNode, getContainer, $listeners } = self;\n const {\n prefixCls,\n destroyPopupOnHide,\n popupClassName,\n action,\n popupAnimation,\n popupTransitionName,\n popupStyle,\n mask,\n maskAnimation,\n maskTransitionName,\n zIndex,\n stretch,\n alignPoint,\n } = self.$props;\n const { sPopupVisible, point } = this.$data;\n const align = this.getPopupAlign();\n const popupProps = {\n props: {\n prefixCls,\n destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint && point,\n action,\n align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch,\n getRootDomNode,\n mask,\n zIndex,\n transitionName: popupTransitionName,\n maskAnimation,\n maskTransitionName,\n getContainer,\n popupClassName,\n popupStyle,\n },\n on: {\n align: $listeners.popupAlign || noop,\n ...mouseProps,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.savePopup,\n },\n ],\n };\n return <Popup {...popupProps}>{getComponentFromProp(self, 'popup')}</Popup>;\n },\n\n getContainer() {\n const { $props: props } = this;\n const popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n const mountNode = props.getPopupContainer\n ? props.getPopupContainer(this.$el)\n : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n this.popupContainer = popupContainer;\n return popupContainer;\n },\n\n setPopupVisible(sPopupVisible, event) {\n const { alignPoint } = this.$props;\n this.clearDelayTimer();\n if (this.$data.sPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible,\n });\n }\n this.$listeners.popupVisibleChange && this.$listeners.popupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (sPopupVisible && alignPoint && event) {\n this.setPoint(event);\n }\n },\n\n setPoint(point) {\n const { alignPoint } = this.$props;\n if (!alignPoint || !point) return;\n\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY,\n },\n });\n },\n\n delaySetPopupVisible(visible, delayS, event) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n const point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = requestAnimationTimeout(() => {\n this.setPopupVisible(visible, point);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n\n clearDelayTimer() {\n if (this.delayTimer) {\n cancelAnimationTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n },\n\n clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextmenuOutsideHandler1) {\n this.contextmenuOutsideHandler1.remove();\n this.contextmenuOutsideHandler1 = null;\n }\n\n if (this.contextmenuOutsideHandler2) {\n this.contextmenuOutsideHandler2.remove();\n this.contextmenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n },\n\n createTwoChains(event) {\n let fn = () => {};\n const events = this.$listeners;\n if (this.childOriginEvents[event] && events[event]) {\n return this[`fire${event}`];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\n },\n\n isClickToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n },\n\n isContextmenuToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1;\n },\n\n isClickToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n },\n\n isMouseEnterToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1;\n },\n\n isMouseLeaveToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1;\n },\n\n isFocusToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n },\n\n isBlurToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n },\n forcePopupAlign() {\n if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) {\n this._component.$refs.alignInstance.forceAlign();\n }\n },\n fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n this.__emit(type, e);\n },\n\n close() {\n this.setPopupVisible(false);\n },\n },\n render() {\n const { sPopupVisible } = this;\n const children = filterEmpty(this.$slots.default);\n const { forceRender, alignPoint } = this.$props;\n\n if (children.length > 1) {\n warning(false, 'Trigger $slots.default.length > 1, just support only one default', true);\n }\n const child = children[0];\n this.childOriginEvents = getEvents(child);\n const newChildProps = {\n props: {},\n on: {},\n key: 'trigger',\n };\n\n if (this.isContextmenuToShow()) {\n newChildProps.on.contextmenu = this.onContextmenu;\n } else {\n newChildProps.on.contextmenu = this.createTwoChains('contextmenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.on.click = this.onClick;\n newChildProps.on.mousedown = this.onMousedown;\n newChildProps.on.touchstart = this.onTouchstart;\n } else {\n newChildProps.on.click = this.createTwoChains('click');\n newChildProps.on.mousedown = this.createTwoChains('mousedown');\n newChildProps.on.touchstart = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.on.mouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.on.mousemove = this.onMouseMove;\n }\n } else {\n newChildProps.on.mouseenter = this.createTwoChains('mouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.on.mouseleave = this.onMouseleave;\n } else {\n newChildProps.on.mouseleave = this.createTwoChains('mouseleave');\n }\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.on.focus = this.onFocus;\n newChildProps.on.blur = this.onBlur;\n } else {\n newChildProps.on.focus = this.createTwoChains('focus');\n newChildProps.on.blur = e => {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n this.createTwoChains('blur')(e);\n }\n };\n }\n\n const trigger = cloneElement(child, newChildProps);\n\n return (\n <ContainerRender\n parent={this}\n visible={sPopupVisible}\n autoMount={false}\n forceRender={forceRender}\n getComponent={this.getComponent}\n getContainer={this.getContainer}\n children={({ renderComponent }) => {\n this.renderComponent = renderComponent;\n return trigger;\n }}\n />\n );\n },\n};\n","// based on rc-trigger 2.6.2\nimport Trigger from './Trigger';\nexport default Trigger;\n","function isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n const baseAlign = builtinPlacements[placementStr] || {};\n return {\n ...baseAlign,\n ...align,\n };\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const points = align.points;\n for (const placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n }\n return '';\n}\nexport function noop() {}\n","// rc-upload 2.6.0\nimport upload from './src';\n\nexport default upload;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport classNames from 'classnames';\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\nimport traverseFileTree from './traverseFileTree';\n\nconst upLoadPropTypes = {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n // className: PropTypes.string,\n multiple: PropTypes.bool,\n directory: PropTypes.bool,\n disabled: PropTypes.bool,\n accept: PropTypes.string,\n // children: PropTypes.any,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n headers: PropTypes.object,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onProgress: PropTypes.func,\n withCredentials: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n};\n\nconst AjaxUploader = {\n inheritAttrs: false,\n name: 'ajaxUploader',\n mixins: [BaseMixin],\n props: upLoadPropTypes,\n data() {\n this.reqs = {};\n return {\n uid: getUid(),\n };\n },\n mounted() {\n this._isMounted = true;\n },\n beforeDestroy() {\n this._isMounted = false;\n this.abort();\n },\n methods: {\n onChange(e) {\n const files = e.target.files;\n this.uploadFiles(files);\n this.reset();\n },\n onClick() {\n const el = this.$refs.fileInputRef;\n if (!el) {\n return;\n }\n el.click();\n },\n onKeyDown(e) {\n if (e.key === 'Enter') {\n this.onClick();\n }\n },\n onFileDrop(e) {\n e.preventDefault();\n if (e.type === 'dragover') {\n return;\n }\n if (this.directory) {\n traverseFileTree(e.dataTransfer.items, this.uploadFiles, _file =>\n attrAccept(_file, this.accept),\n );\n } else {\n const files = Array.prototype.slice\n .call(e.dataTransfer.files)\n .filter(file => attrAccept(file, this.accept));\n this.uploadFiles(files);\n }\n },\n uploadFiles(files) {\n const postFiles = Array.prototype.slice.call(files);\n postFiles.forEach(file => {\n file.uid = getUid();\n this.upload(file, postFiles);\n });\n },\n upload(file, fileList) {\n if (!this.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(() => this.post(file), 0);\n }\n\n const before = this.beforeUpload(file, fileList);\n if (before && before.then) {\n before\n .then(processedFile => {\n const processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {\n return this.post(processedFile);\n }\n return this.post(file);\n })\n .catch(e => {\n console && console.log(e); // eslint-disable-line\n });\n } else if (before !== false) {\n setTimeout(() => this.post(file), 0);\n }\n },\n post(file) {\n if (!this._isMounted) {\n return;\n }\n let { data } = this.$props;\n if (typeof data === 'function') {\n data = data(file);\n }\n new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n const { uid } = file;\n const request = this.customRequest || defaultRequest;\n this.reqs[uid] = request({\n action,\n filename: this.name,\n file,\n data,\n headers: this.headers,\n withCredentials: this.withCredentials,\n onProgress: e => {\n this.$emit('progress', e, file);\n },\n onSuccess: (ret, xhr) => {\n delete this.reqs[uid];\n this.$emit('success', ret, file, xhr);\n },\n onError: (err, ret) => {\n delete this.reqs[uid];\n this.$emit('error', err, ret, file);\n },\n });\n this.$emit('start', file);\n });\n },\n reset() {\n this.setState({\n uid: getUid(),\n });\n },\n abort(file) {\n const { reqs } = this;\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (reqs[uid]) {\n reqs[uid].abort();\n delete reqs[uid];\n }\n } else {\n Object.keys(reqs).forEach(uid => {\n if (reqs[uid]) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n },\n },\n\n render() {\n const { $props, $attrs } = this;\n const {\n componentTag: Tag,\n prefixCls,\n disabled,\n multiple,\n accept,\n directory,\n openFileDialogOnClick,\n } = $props;\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n const events = disabled\n ? {}\n : {\n click: openFileDialogOnClick ? this.onClick : () => {},\n keydown: this.onKeyDown,\n drop: this.onFileDrop,\n dragover: this.onFileDrop,\n };\n const tagProps = {\n on: {\n ...this.$listeners,\n ...events,\n },\n attrs: {\n role: 'button',\n tabIndex: disabled ? null : '0',\n },\n class: cls,\n };\n return (\n <Tag {...tagProps}>\n <input\n id={$attrs.id}\n type=\"file\"\n ref=\"fileInputRef\"\n key={this.uid}\n style={{ display: 'none' }}\n accept={accept}\n directory={directory ? 'directory' : null}\n webkitdirectory={directory ? 'webkitdirectory' : null}\n multiple={multiple}\n onChange={this.onChange}\n />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default AjaxUploader;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport classNames from 'classnames';\nimport getUid from './uid';\nimport warning from '../../_util/warning';\n\nconst IFRAME_STYLE = {\n position: 'absolute',\n top: 0,\n opacity: 0,\n filter: 'alpha(opacity=0)',\n left: 0,\n zIndex: 9999,\n};\n\n// diferent from AjaxUpload, can only upload on at one time, serial seriously\nconst IframeUploader = {\n mixins: [BaseMixin],\n props: {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n accept: PropTypes.string,\n // onStart: PropTypes.func,\n multiple: PropTypes.bool,\n // children: PropTypes.any,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n },\n data() {\n this.file = {};\n return {\n uploading: false,\n };\n },\n methods: {\n onLoad() {\n if (!this.uploading) {\n return;\n }\n const { file } = this;\n let response;\n try {\n const doc = this.getIframeDocument();\n const script = doc.getElementsByTagName('script')[0];\n if (script && script.parentNode === doc.body) {\n doc.body.removeChild(script);\n }\n response = doc.body.innerHTML;\n this.$emit('success', response, file);\n } catch (err) {\n warning(\n false,\n 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload',\n );\n response = 'cross-domain';\n this.$emit('error', err, null, file);\n }\n this.endUpload();\n },\n onChange() {\n const target = this.getFormInputNode();\n // ie8/9 don't support FileList Object\n // http://stackoverflow.com/questions/12830058/ie8-input-type-file-get-files\n const file = (this.file = {\n uid: getUid(),\n name: target.value,\n });\n this.startUpload();\n const { $props: props } = this;\n if (!props.beforeUpload) {\n return this.post(file);\n }\n const before = props.beforeUpload(file);\n if (before && before.then) {\n before.then(\n () => {\n this.post(file);\n },\n () => {\n this.endUpload();\n },\n );\n } else if (before !== false) {\n this.post(file);\n } else {\n this.endUpload();\n }\n },\n getIframeNode() {\n return this.$refs.iframeRef;\n },\n getIframeDocument() {\n return this.getIframeNode().contentDocument;\n },\n getFormNode() {\n return this.getIframeDocument().getElementById('form');\n },\n getFormInputNode() {\n return this.getIframeDocument().getElementById('input');\n },\n getFormDataNode() {\n return this.getIframeDocument().getElementById('data');\n },\n getFileForMultiple(file) {\n return this.multiple ? [file] : file;\n },\n getIframeHTML(domain) {\n let domainScript = '';\n let domainInput = '';\n if (domain) {\n const script = 'script';\n domainScript = `<${script}>document.domain=\"${domain}\";</${script}>`;\n domainInput = `<input name=\"_documentDomain\" value=\"${domain}\" />`;\n }\n return `\n <!DOCTYPE html>\n <html>\n <head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <style>\n body,html {padding:0;margin:0;border:0;overflow:hidden;}\n </style>\n ${domainScript}\n </head>\n <body>\n <form method=\"post\"\n encType=\"multipart/form-data\"\n action=\"\" id=\"form\"\n style=\"display:block;height:9999px;position:relative;overflow:hidden;\">\n <input id=\"input\" type=\"file\"\n name=\"${this.name}\"\n style=\"position:absolute;top:0;right:0;height:9999px;font-size:9999px;cursor:pointer;\"/>\n ${domainInput}\n <span id=\"data\"></span>\n </form>\n </body>\n </html>\n `;\n },\n initIframeSrc() {\n if (this.domain) {\n this.getIframeNode().src = `javascript:void((function(){\n var d = document;\n d.open();\n d.domain='${this.domain}';\n d.write('');\n d.close();\n })())`;\n }\n },\n initIframe() {\n const iframeNode = this.getIframeNode();\n let win = iframeNode.contentWindow;\n let doc;\n this.domain = this.domain || '';\n this.initIframeSrc();\n try {\n doc = win.document;\n } catch (e) {\n this.domain = document.domain;\n this.initIframeSrc();\n win = iframeNode.contentWindow;\n doc = win.document;\n }\n doc.open('text/html', 'replace');\n doc.write(this.getIframeHTML(this.domain));\n doc.close();\n this.getFormInputNode().onchange = this.onChange;\n },\n endUpload() {\n if (this.uploading) {\n this.file = {};\n // hack avoid batch\n this.uploading = false;\n this.setState({\n uploading: false,\n });\n this.initIframe();\n }\n },\n startUpload() {\n if (!this.uploading) {\n this.uploading = true;\n this.setState({\n uploading: true,\n });\n }\n },\n updateIframeWH() {\n const rootNode = this.$el;\n const iframeNode = this.getIframeNode();\n iframeNode.style.height = `${rootNode.offsetHeight}px`;\n iframeNode.style.width = `${rootNode.offsetWidth}px`;\n },\n abort(file) {\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (uid === this.file.uid) {\n this.endUpload();\n }\n } else {\n this.endUpload();\n }\n },\n post(file) {\n const formNode = this.getFormNode();\n const dataSpan = this.getFormDataNode();\n let { data } = this.$props;\n if (typeof data === 'function') {\n data = data(file);\n }\n const inputs = document.createDocumentFragment();\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n const input = document.createElement('input');\n input.setAttribute('name', key);\n input.value = data[key];\n inputs.appendChild(input);\n }\n }\n dataSpan.appendChild(inputs);\n new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n formNode.setAttribute('action', action);\n formNode.submit();\n dataSpan.innerHTML = '';\n this.$emit('start', file);\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.updateIframeWH();\n this.initIframe();\n });\n },\n updated() {\n this.$nextTick(() => {\n this.updateIframeWH();\n });\n },\n\n render() {\n const { componentTag: Tag, disabled, prefixCls } = this.$props;\n const iframeStyle = {\n ...IFRAME_STYLE,\n display: this.uploading || disabled ? 'none' : '',\n };\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <Tag className={cls} style={{ position: 'relative', zIndex: 0 }}>\n <iframe ref=\"iframeRef\" onLoad={this.onLoad} style={iframeStyle} />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default IframeUploader;\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport AjaxUpload from './AjaxUploader';\nimport IframeUpload from './IframeUploader';\n\nfunction empty() {}\n\nconst uploadProps = {\n componentTag: PropTypes.string,\n prefixCls: PropTypes.string,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n multipart: PropTypes.bool,\n directory: PropTypes.bool,\n // onError: PropTypes.func,\n // onSuccess: PropTypes.func,\n // onProgress: PropTypes.func,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n headers: PropTypes.object,\n accept: PropTypes.string,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onReady: PropTypes.func,\n withCredentials: PropTypes.bool,\n supportServerRender: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n};\nexport default {\n name: 'Upload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(uploadProps, {\n componentTag: 'span',\n prefixCls: 'rc-upload',\n data: {},\n headers: {},\n name: 'file',\n multipart: false,\n // onReady: empty,\n // onStart: empty,\n // onError: empty,\n // onSuccess: empty,\n supportServerRender: false,\n multiple: false,\n beforeUpload: empty,\n withCredentials: false,\n openFileDialogOnClick: true,\n }),\n data() {\n return {\n Component: null,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.supportServerRender) {\n /* eslint react/no-did-mount-set-state:0 */\n this.setState(\n {\n Component: this.getComponent(),\n },\n () => {\n this.$emit('ready');\n },\n );\n }\n });\n },\n methods: {\n getComponent() {\n return typeof File !== 'undefined' ? AjaxUpload : IframeUpload;\n },\n abort(file) {\n this.$refs.uploaderRef.abort(file);\n },\n },\n\n render() {\n const componentProps = {\n props: {\n ...this.$props,\n },\n on: this.$listeners,\n ref: 'uploaderRef',\n attrs: this.$attrs,\n };\n if (this.supportServerRender) {\n const ComponentUploader = this.Component;\n if (ComponentUploader) {\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n }\n return null;\n }\n const ComponentUploader = this.getComponent();\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n },\n};\n","function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\n\nexport default (file, acceptedFiles) => {\n if (file && acceptedFiles) {\n const acceptedFilesArray = Array.isArray(acceptedFiles)\n ? acceptedFiles\n : acceptedFiles.split(',');\n const fileName = file.name || '';\n const mimeType = file.type || '';\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\n\n return acceptedFilesArray.some(type => {\n const validType = type.trim();\n if (validType.charAt(0) === '.') {\n return endsWith(fileName.toLowerCase(), validType.toLowerCase());\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n return mimeType === validType;\n });\n }\n return true;\n};\n","// based on rc-upload 2.4.4\n// export this package's api\nimport Upload from './Upload';\n\nexport default Upload;\n","function getError(option, xhr) {\n const msg = `cannot post ${option.action} ${xhr.status}'`;\n const err = new Error(msg);\n err.status = xhr.status;\n err.method = 'post';\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n const text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\n// option {\n// onProgress: (event: { percent: number }): void,\n// onError: (event: Error, body?: Object): void,\n// onSuccess: (body: Object): void,\n// data: Object,\n// filename: String,\n// file: File,\n// withCredentials: Boolean,\n// action: String,\n// headers: Object,\n// }\nexport default function upload(option) {\n const xhr = new window.XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100;\n }\n option.onProgress(e);\n };\n }\n\n const formData = new window.FormData();\n\n if (option.data) {\n Object.keys(option.data).map(key => {\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr), xhr);\n };\n\n xhr.open('post', option.action, true);\n\n // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n const headers = option.headers || {};\n\n // when set headers['X-Requested-With'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n if (headers['X-Requested-With'] !== null) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n for (const h in headers) {\n if (headers.hasOwnProperty(h) && headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n }\n xhr.send(formData);\n\n return {\n abort() {\n xhr.abort();\n },\n };\n}\n","const traverseFileTree = (files, callback, isAccepted) => {\n const _traverseFileTree = (item, path) => {\n path = path || '';\n if (item.isFile) {\n item.file(file => {\n if (isAccepted(file)) {\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n const dirReader = item.createReader();\n\n dirReader.readEntries(entries => {\n for (const entrieItem of entries) {\n _traverseFileTree(entrieItem, `${path}${item.name}/`);\n }\n });\n }\n };\n for (const file of files) {\n _traverseFileTree(file.webkitGetAsEntry());\n }\n};\n\nexport default traverseFileTree;\n","const now = +new Date();\nlet index = 0;\n\nexport default function uid() {\n return `vc-upload-${now}-${++index}`;\n}\n","import { version } from '../../package.json';\n\nexport default version;\n","// empty file prevent babel-plugin-import error\nimport '../../style/index.less';\n","/* eslint no-console:0 */\nfunction camelCase(name) {\n return (\n name.charAt(0).toUpperCase() +\n name.slice(1).replace(/-(\\w)/g, (m, n) => {\n return n.toUpperCase();\n })\n );\n}\n\n// Just import style for https://github.com/ant-design/ant-design/issues/3745\nconst req = require.context('./components', true, /^\\.\\/[^_][\\w-]+\\/style\\/index\\.js?$/);\n\nreq.keys().forEach(mod => {\n let v = req(mod);\n if (v && v.default) {\n v = v.default;\n }\n const match = mod.match(/^\\.\\/([^_][\\w-]+)\\/index\\.js?$/);\n if (match && match[1]) {\n if (match[1] === 'message' || match[1] === 'notification') {\n // message & notification should not be capitalized\n exports[match[1]] = v;\n } else {\n exports[camelCase(match[1])] = v;\n }\n }\n});\n\nmodule.exports = require('./components');\n","import _extends from 'babel-runtime/helpers/extends';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = {\n name: 'AntdIcon',\n props: ['type', 'primaryColor', 'secondaryColor'],\n displayName: 'IconVue',\n definitions: new MiniMap(),\n data: function data() {\n return {\n twoToneColorPalette: twoToneColorPalette\n };\n },\n add: function add() {\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n Icon.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n },\n clear: function clear() {\n Icon.definitions.clear();\n },\n get: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = Icon.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n },\n setTwoToneColors: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n },\n getTwoToneColors: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n },\n render: function render(h) {\n var _$props = this.$props,\n type = _$props.type,\n primaryColor = _$props.primaryColor,\n secondaryColor = _$props.secondaryColor;\n\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(h, target.icon, 'svg-' + target.name, {\n attrs: {\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n },\n on: this.$listeners\n });\n }\n};\n\n/* istanbul ignore next */\nIcon.install = function (Vue) {\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;","import Icon from './components/Icon';\n\nexport default Icon;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport { generate as generateColor } from 'ant-design-palettes';\n\nexport function log(message) {\n if (!(process && process.env && process.env.NODE_ENV === 'production')) {\n console.error('[@ant-design/icons-vue]: ' + message + '.');\n }\n}\n\nexport function isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\n\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\n\nexport var MiniMap = function () {\n function MiniMap() {\n _classCallCheck(this, MiniMap);\n\n this.collection = {};\n }\n\n _createClass(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\n\nexport function generate(h, node, key, rootProps) {\n if (!rootProps) {\n return h(node.tag, { key: key, attrs: _extends({}, normalizeAttrs(node.attrs)) }, (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n }\n return h(node.tag, _extends({\n key: key\n }, rootProps, {\n attrs: _extends({}, normalizeAttrs(node.attrs), rootProps.attrs)\n }), (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n}\n\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\n\nexport function withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar normalViewBox = '0 0 1024 1024';\nvar newViewBox = '64 64 896 896';\nvar fill = 'fill';\nvar outline = 'outline';\nvar twotone = 'twotone';\nfunction getNode(viewBox) {\n var paths = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n paths[_i - 1] = arguments[_i];\n }\n return {\n tag: 'svg',\n attrs: { viewBox: viewBox },\n children: paths.map(function (path) {\n if (Array.isArray(path)) {\n return {\n tag: 'path',\n attrs: {\n fill: path[0],\n d: path[1]\n }\n };\n }\n return {\n tag: 'path',\n attrs: {\n d: path\n }\n };\n })\n };\n}\nfunction getIcon(name, theme, icon) {\n return {\n name: name,\n theme: theme,\n icon: icon\n };\n}\nexports.AlertFill = getIcon('alert', fill, getNode(newViewBox, 'M512 244c176.18 0 319 142.82 319 319v233a32 32 0 0 1-32 32H225a32 32 0 0 1-32-32V563c0-176.18 142.82-319 319-319zM484 68h56a8 8 0 0 1 8 8v96a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V76a8 8 0 0 1 8-8zM177.25 191.66a8 8 0 0 1 11.32 0l67.88 67.88a8 8 0 0 1 0 11.31l-39.6 39.6a8 8 0 0 1-11.31 0l-67.88-67.88a8 8 0 0 1 0-11.31l39.6-39.6zm669.6 0l39.6 39.6a8 8 0 0 1 0 11.3l-67.88 67.9a8 8 0 0 1-11.32 0l-39.6-39.6a8 8 0 0 1 0-11.32l67.89-67.88a8 8 0 0 1 11.31 0zM192 892h640a32 32 0 0 1 32 32v24a8 8 0 0 1-8 8H168a8 8 0 0 1-8-8v-24a32 32 0 0 1 32-32zm148-317v253h64V575h-64z'));\nexports.AlipayCircleFill = getIcon('alipay-circle', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AlipaySquareFill = getIcon('alipay-square', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm29.4 663.2S703 689.4 598.7 639.5C528.8 725.2 438.6 777.3 345 777.3c-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9 114.3 38.2 140.2 40.2 140.2 40.2v122.3z'));\nexports.AliwangwangFill = getIcon('aliwangwang', fill, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-325.2 79c0 20.4-16.6 37.1-37.1 37.1-20.4 0-37.1-16.7-37.1-37.1v-55.1c0-20.4 16.6-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1zm175.2 0c0 20.4-16.6 37.1-37.1 37.1S644 476.8 644 456.4v-55.1c0-20.4 16.7-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1z'));\nexports.AmazonCircleFill = getIcon('amazon-circle', fill, getNode(newViewBox, 'M485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm35.8 262.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9 4.7-12.2 11.8-23.9 21.4-35 9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7z'));\nexports.AmazonSquareFill = getIcon('amazon-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM547.8 326.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9s11.8-23.9 21.4-35c9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7zM485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4z'));\nexports.AccountBookFill = getIcon('account-book', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.ApiFill = getIcon('api', fill, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 68.9-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2z'));\nexports.AndroidFill = getIcon('android', fill, getNode(newViewBox, 'M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z'));\nexports.AppstoreFill = getIcon('appstore', fill, getNode(newViewBox, 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zM464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z'));\nexports.AppleFill = getIcon('apple', fill, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.AudioFill = getIcon('audio', fill, getNode(newViewBox, 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'));\nexports.BackwardFill = getIcon('backward', fill, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankFill = getIcon('bank', fill, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374z'));\nexports.BehanceCircleFill = getIcon('behance-circle', fill, getNode(newViewBox, 'M420.3 470.3c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1a50.5 50.5 0 0 0 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm86.5 286.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7z'));\nexports.BehanceSquareFill = getIcon('behance-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BuildFill = getIcon('build', fill, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM612 746H412V546h200v200zm268-268H680V278h200v200z'));\nexports.BellFill = getIcon('bell', fill, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z'));\nexports.BookFill = getIcon('book', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM668 345.9L621.5 312 572 347.4V124h96v221.9z'));\nexports.BoxPlotFill = getIcon('box-plot', fill, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H448v432h344c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-728 80v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h152V296H232c-4.4 0-8 3.6-8 8z'));\nexports.BulbFill = getIcon('bulb', fill, getNode(newViewBox, 'M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z'));\nexports.CalculatorFill = getIcon('calculator', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM440.2 765h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zm7.8-382c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48zm328 369c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-104c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-265c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48z'));\nexports.CalendarFill = getIcon('calendar', fill, getNode(newViewBox, 'M112 880c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V460H112v420zm768-696H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v176h800V216c0-17.7-14.3-32-32-32z'));\nexports.CarFill = getIcon('car', fill, getNode(newViewBox, 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM220 418l72.7-199.9.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220z'));\nexports.CameraFill = getIcon('camera', fill, getNode(newViewBox, 'M864 260H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 260H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V340c0-44.2-35.8-80-80-80zM512 716c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm-96-160a96 96 0 1 0 192 0 96 96 0 1 0-192 0z'));\nexports.CaretDownFill = getIcon('caret-down', fill, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretUpFill = getIcon('caret-up', fill, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CaretRightFill = getIcon('caret-right', fill, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CarryOutFill = getIcon('carry-out', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM694.5 432.7L481.9 725.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.CaretLeftFill = getIcon('caret-left', fill, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CheckSquareFill = getIcon('check-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM695.5 365.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L308.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H689c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.CheckCircleFill = getIcon('check-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.ChromeFill = getIcon('chrome', fill, getNode(newViewBox, 'M371.8 512c0 77.5 62.7 140.2 140.2 140.2S652.2 589.5 652.2 512 589.5 371.8 512 371.8 371.8 434.4 371.8 512zM900 362.4l-234.3 12.1c63.6 74.3 64.6 181.5 11.1 263.7l-188 289.2c78 4.2 158.4-12.9 231.2-55.2 180-104 253-322.1 180-509.8zM320.3 591.9L163.8 284.1A415.35 415.35 0 0 0 96 512c0 208 152.3 380.3 351.4 410.8l106.9-209.4c-96.6 18.2-189.9-34.8-234-121.5zm218.5-285.5l344.4 18.1C848 254.7 792.6 194 719.8 151.7 653.9 113.6 581.5 95.5 510.5 96c-122.5.5-242.2 55.2-322.1 154.5l128.2 196.9c32-91.9 124.8-146.7 222.2-141z'));\nexports.CiCircleFill = getIcon('ci-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-63.6 656c-103 0-162.4-68.6-162.4-182.6v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-4-46.1-37.6-77.6-87-77.6-61.1 0-95.6 45.4-95.6 126.9v49.3c0 80.3 34.5 125.1 95.6 125.1 49.3 0 82.8-29.5 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'));\nexports.ClockCircleFill = getIcon('clock-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm176.5 585.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'));\nexports.CloseCircleFill = getIcon('close-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 0 1-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z'));\nexports.CloseSquareFill = getIcon('close-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM676.1 657.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9z'));\nexports.CloudFill = getIcon('cloud', fill, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CodeSandboxCircleFill = getIcon('code-sandbox-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm243.7 589.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zM307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zm203.9-151.8L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8zm20 352l97.3-56.2v-94.1l87-49.5V418.5L531.8 525z'));\nexports.CodeSandboxSquareFill = getIcon('code-sandbox-square', fill, getNode(newViewBox, 'M307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM755.7 653.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zm-223.9 83.7l97.3-56.2v-94.1l87-49.5V418.5L531.8 525zm-20-352L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8z'));\nexports.CodeFill = getIcon('code', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM513.1 518.1l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3zM716 673c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8h185c4.1 0 7.5 3.6 7.5 8v48z'));\nexports.CodepenCircleFill = getIcon('codepen-circle', fill, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.CodepenSquareFill = getIcon('codepen-square', fill, getNode(newViewBox, 'M723.1 428L535.9 303.4v111.3l103.6 69.1zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zm23.9 154.2v111.3L723.1 597l-83.6-55.8zm-151.4-69.1L300.9 597l187.2 124.6V610.3l-103.6-69.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-90 485c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-47.8-44.6v-79.8l-59.8 39.9zm-460.4-79.8v79.8l59.8-39.9zm206.3-57.9V303.4L300.9 428l83.6 55.8z'));\nexports.CompassFill = getIcon('compass', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM327.3 702.4c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2l98.7-225.5 132.1 132.1-225.5 98.7zm375.1-375.1l-98.7 225.5-132.1-132.1L697.1 322c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'));\nexports.ContactsFill = getIcon('contacts', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM661 736h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.6-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H363a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112 61.5 0 111.4 50.1 111.4 112 0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zM512 474c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52z'));\nexports.ContainerFill = getIcon('container', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v529c0-.6.4-1 1-1h219.3l5.2 24.7C397.6 708.5 450.8 752 512 752s114.4-43.5 126.4-103.3l5.2-24.7H863c.6 0 1 .4 1 1V96c0-17.7-14.3-32-32-32zM712 493c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm0-160c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm151 354H694.1c-11.6 32.8-32 62.3-59.1 84.7-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H161c-.6 0-1-.4-1-1v242c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V686c0 .6-.4 1-1 1z'));\nexports.ControlFill = getIcon('control', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM404 683v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99zm279.6-143.9c.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1zM616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM403.4 566.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5z'));\nexports.CopyFill = getIcon('copy', fill, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM382 896h-.2L232 746.2v-.2h150v150z'));\nexports.CopyrightCircleFill = getIcon('copyright-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm5.4 670c-110 0-173.4-73.2-173.4-194.9v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.6-3.2-8-7.4-4-49.5-40-83.4-93-83.4-65.3 0-102.1 48.5-102.1 135.5v52.6c0 85.7 36.9 133.6 102.1 133.6 52.8 0 88.7-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4z'));\nexports.CreditCardFill = getIcon('credit-card', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v160h896V192c0-17.7-14.3-32-32-32zM64 832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V440H64v392zm579-184c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72z'));\nexports.CrownFill = getIcon('crown', fill, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zM512 734.2c-62.1 0-112.6-50.5-112.6-112.6S449.9 509 512 509s112.6 50.5 112.6 112.6S574.1 734.2 512 734.2zm0-160.9c-26.6 0-48.2 21.6-48.2 48.3 0 26.6 21.6 48.3 48.2 48.3s48.2-21.6 48.2-48.3c0-26.6-21.6-48.3-48.2-48.3z'));\nexports.CustomerServiceFill = getIcon('customer-service', fill, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384z'));\nexports.DashboardFill = getIcon('dashboard', fill, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM482 232c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.5l-31.1 31.1a8.03 8.03 0 0 1-11.3 0L261.7 352a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.6l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.1 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44z'));\nexports.DatabaseFill = getIcon('database', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM288 232c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm128-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm128-168c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'));\nexports.DeleteFill = getIcon('delete', fill, getNode(newViewBox, 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z'));\nexports.DiffFill = getIcon('diff', fill, getNode(newViewBox, 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23zM553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM568 753c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-220c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7v42z'));\nexports.DingtalkCircleFill = getIcon('dingtalk-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm227 385.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DingtalkSquareFill = getIcon('dingtalk-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM739 449.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DislikeFill = getIcon('dislike', fill, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273v428h.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32z'));\nexports.DollarCircleFill = getIcon('dollar-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm22.3 665.2l.2 31.7c0 4.4-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4C401.3 723 359.5 672.4 355 617.4c-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.7 29.8 55.4 74.1 61.3V533.9l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-72.9 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.9 46.9 125.9 109.2.5 4.7-3.2 8.8-8 8.8h-44.9c-4 0-7.4-3-7.9-6.9-4-29.2-27.4-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 108.9 116.4 0 75.3-56 117.3-134.3 124.1zM426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-36.9 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.8-.6-5.6-1.3-8.8-2.2V677c42.6-3.8 72-27.2 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'));\nexports.DownCircleFill = getIcon('down-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm184.5 353.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DownSquareFill = getIcon('down-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM696.5 412.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DribbbleCircleFill = getIcon('dribbble-circle', fill, getNode(newViewBox, 'M675.1 328.3a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6zm47.7-11.9c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 736c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm53.1-346.2c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm30.6 82.5c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4z'));\nexports.DribbbleSquareFill = getIcon('dribbble-square', fill, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.DropboxCircleFill = getIcon('dropbox-circle', fill, getNode(newViewBox, 'M663.8 455.5zm-151.5-93.8l-151.8 93.8 151.8 93.9 151.5-93.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm151.2 595.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1z'));\nexports.DropboxSquareFill = getIcon('dropbox-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM663.2 659.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1zM512.3 361.7l-151.8 93.8 151.8 93.9 151.5-93.9zm151.5 93.8z'));\nexports.EnvironmentFill = getIcon('environment', fill, getNode(newViewBox, 'M512 327c-29.9 0-58 11.6-79.2 32.8A111.6 111.6 0 0 0 400 439c0 29.9 11.7 58 32.8 79.2A111.6 111.6 0 0 0 512 551c29.9 0 58-11.7 79.2-32.8C612.4 497 624 468.9 624 439c0-29.9-11.6-58-32.8-79.2S541.9 327 512 327zm342.6-37.9a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.EditFill = getIcon('edit', fill, getNode(newViewBox, 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z'));\nexports.EuroCircleFill = getIcon('euro-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm63.5 375.8c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8h-136c-.3 4.4-.3 9.1-.3 13.8v36h136.2c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H444.9c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.2 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.3 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.8.3-12.8H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.7c19.7-94.2 92-149.9 198.6-149.9 20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346h.1c0 5.1-4.6 8.8-9.6 7.8-14.7-2.9-31.8-4.4-51.7-4.4-65.4 0-110.4 33.5-127.6 90.4h128.4z'));\nexports.ExperimentFill = getIcon('experiment', fill, getNode(newViewBox, 'M218.9 636.3l42.6 26.6c.1.1.3.2.4.3l12.7 8 .3.3a186.9 186.9 0 0 0 94.1 25.1c44.9 0 87.2-15.7 121-43.8a256.27 256.27 0 0 1 164.9-59.9c52.3 0 102.2 15.7 144.6 44.5l7.9 5-111.6-289V179.8h63.5c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8H264.7c-4.4 0-8 3.6-8 8v51.9c0 4.4 3.6 8 8 8h63.5v173.6L218.9 636.3zm333-203.1c22 0 39.9 17.9 39.9 39.9S573.9 513 551.9 513 512 495.1 512 473.1s17.9-39.9 39.9-39.9zM878 825.1l-29.9-77.4-85.7-53.5-.1.1c-.7-.5-1.5-1-2.2-1.5l-8.1-5-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-53 0-103.5-16.1-146.2-45.6l-28.9-18.1L146 825.1c-2.8 7.4-4.3 15.2-4.3 23 0 35.2 28.6 63.8 63.8 63.8h612.9c7.9 0 15.7-1.5 23-4.3a63.6 63.6 0 0 0 36.6-82.5z'));\nexports.ExclamationCircleFill = getIcon('exclamation-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.EyeInvisibleFill = getIcon('eye-invisible', fill, getNode(newViewBox, 'M508 624a112 112 0 0 0 112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 0 0-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 0 0 0 11.31L155.25 889a8 8 0 0 0 11.31 0l712.16-712.12a8 8 0 0 0 0-11.32zM332 512a176 176 0 0 1 258.88-155.28l-48.62 48.62a112.08 112.08 0 0 0-140.92 140.92l-48.62 48.62A175.09 175.09 0 0 1 332 512z', 'M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 0 1 445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'));\nexports.EyeFill = getIcon('eye', fill, getNode(newViewBox, 'M396 512a112 112 0 1 0 224 0 112 112 0 1 0-224 0zm546.2-25.8C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM508 688c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.FacebookFill = getIcon('facebook', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z'));\nexports.FastBackwardFill = getIcon('fast-backward', fill, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardFill = getIcon('fast-forward', fill, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddFill = getIcon('file-add', fill, getNode(newViewBox, 'M480 580H372a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h108v108a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8V644h108a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H544V472a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v108zm374.6-291.3c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FileExcelFill = getIcon('file-excel', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM575.34 477.84l-61.22 102.3L452.3 477.8a12 12 0 0 0-10.27-5.79h-38.44a12 12 0 0 0-6.4 1.85 12 12 0 0 0-3.75 16.56l82.34 130.42-83.45 132.78a12 12 0 0 0-1.84 6.39 12 12 0 0 0 12 12h34.46a12 12 0 0 0 10.21-5.7l62.7-101.47 62.3 101.45a12 12 0 0 0 10.23 5.72h37.48a12 12 0 0 0 6.48-1.9 12 12 0 0 0 3.62-16.58l-83.83-130.55 85.3-132.47a12 12 0 0 0 1.9-6.5 12 12 0 0 0-12-12h-35.7a12 12 0 0 0-10.29 5.84z'));\nexports.FileImageFill = getIcon('file-image', fill, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM400 402c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8 8 0 0 1 12.6 0l136.5 174c4.3 5.2.5 12.9-6.1 12.9zm-94-370V137.8L790.2 326H602z'));\nexports.FileExclamationFill = getIcon('file-exclamation', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 784a40 40 0 1 0 0-80 40 40 0 0 0 0 80zm32-152V448a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v184a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8z'));\nexports.FilePdfFill = getIcon('file-pdf', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.22 637.26c-15.18-.5-31.32.67-49.65 2.96-24.3-14.99-40.66-35.58-52.28-65.83l1.07-4.38 1.24-5.18c4.3-18.13 6.61-31.36 7.3-44.7.52-10.07-.04-19.36-1.83-27.97-3.3-18.59-16.45-29.46-33.02-30.13-15.45-.63-29.65 8-33.28 21.37-5.91 21.62-2.45 50.07 10.08 98.59-15.96 38.05-37.05 82.66-51.2 107.54-18.89 9.74-33.6 18.6-45.96 28.42-16.3 12.97-26.48 26.3-29.28 40.3-1.36 6.49.69 14.97 5.36 21.92 5.3 7.88 13.28 13 22.85 13.74 24.15 1.87 53.83-23.03 86.6-79.26 3.29-1.1 6.77-2.26 11.02-3.7l11.9-4.02c7.53-2.54 12.99-4.36 18.39-6.11 23.4-7.62 41.1-12.43 57.2-15.17 27.98 14.98 60.32 24.8 82.1 24.8 17.98 0 30.13-9.32 34.52-23.99 3.85-12.88.8-27.82-7.48-36.08-8.56-8.41-24.3-12.43-45.65-13.12zM385.23 765.68v-.36l.13-.34a54.86 54.86 0 0 1 5.6-10.76c4.28-6.58 10.17-13.5 17.47-20.87 3.92-3.95 8-7.8 12.79-12.12 1.07-.96 7.91-7.05 9.19-8.25l11.17-10.4-8.12 12.93c-12.32 19.64-23.46 33.78-33 43-3.51 3.4-6.6 5.9-9.1 7.51a16.43 16.43 0 0 1-2.61 1.42c-.41.17-.77.27-1.13.3a2.2 2.2 0 0 1-1.12-.15 2.07 2.07 0 0 1-1.27-1.91zM511.17 547.4l-2.26 4-1.4-4.38c-3.1-9.83-5.38-24.64-6.01-38-.72-15.2.49-24.32 5.29-24.32 6.74 0 9.83 10.8 10.07 27.05.22 14.28-2.03 29.14-5.7 35.65zm-5.81 58.46l1.53-4.05 2.09 3.8c11.69 21.24 26.86 38.96 43.54 51.31l3.6 2.66-4.39.9c-16.33 3.38-31.54 8.46-52.34 16.85 2.17-.88-21.62 8.86-27.64 11.17l-5.25 2.01 2.8-4.88c12.35-21.5 23.76-47.32 36.05-79.77zm157.62 76.26c-7.86 3.1-24.78.33-54.57-12.39l-7.56-3.22 8.2-.6c23.3-1.73 39.8-.45 49.42 3.07 4.1 1.5 6.83 3.39 8.04 5.55a4.64 4.64 0 0 1-1.36 6.31 6.7 6.7 0 0 1-2.17 1.28z'));\nexports.FileMarkdownFill = getIcon('file-markdown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM426.13 600.93l59.11 132.97a16 16 0 0 0 14.62 9.5h24.06a16 16 0 0 0 14.63-9.51l59.1-133.35V758a16 16 0 0 0 16.01 16H641a16 16 0 0 0 16-16V486a16 16 0 0 0-16-16h-34.75a16 16 0 0 0-14.67 9.62L512.1 662.2l-79.48-182.59a16 16 0 0 0-14.67-9.61H383a16 16 0 0 0-16 16v272a16 16 0 0 0 16 16h27.13a16 16 0 0 0 16-16V600.93z'));\nexports.FilePptFill = getIcon('file-ppt', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM468.53 760v-91.54h59.27c60.57 0 100.2-39.65 100.2-98.12 0-58.22-39.58-98.34-99.98-98.34H424a12 12 0 0 0-12 12v276a12 12 0 0 0 12 12h32.53a12 12 0 0 0 12-12zm0-139.33h34.9c47.82 0 67.19-12.93 67.19-50.33 0-32.05-18.12-50.12-49.87-50.12h-52.22v100.45z'));\nexports.FileTextFill = getIcon('file-text', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM320 482a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h384a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320zm0 136a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h184a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320z'));\nexports.FileUnknownFill = getIcon('file-unknown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm110 227a32 32 0 1 0 0-64 32 32 0 0 0 0 64z'));\nexports.FileWordFill = getIcon('file-word', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 566.1l52.81 197a12 12 0 0 0 11.6 8.9h31.77a12 12 0 0 0 11.6-8.88l74.37-276a12 12 0 0 0 .4-3.12 12 12 0 0 0-12-12h-35.57a12 12 0 0 0-11.7 9.31l-45.78 199.1-49.76-199.32A12 12 0 0 0 528.1 472h-32.2a12 12 0 0 0-11.64 9.1L434.6 680.01 388.5 481.3a12 12 0 0 0-11.68-9.29h-35.39a12 12 0 0 0-3.11.41 12 12 0 0 0-8.47 14.7l74.17 276A12 12 0 0 0 415.6 772h31.99a12 12 0 0 0 11.59-8.9l52.81-197z'));\nexports.FileZipFill = getIcon('file-zip', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM296 136v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm0 64v160h128V584H296zm48 48h32v64h-32v-64z'));\nexports.FilterFill = getIcon('filter', fill, getNode(newViewBox, 'M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z'));\nexports.FileFill = getIcon('file', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FireFill = getIcon('fire', fill, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9z'));\nexports.FlagFill = getIcon('flag', fill, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32z'));\nexports.FolderAddFill = getIcon('folder-add', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM632 577c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.2 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.8 0 7 3.2 7 7.1V528h84.5c4.1 0 7.5 3.2 7.5 7v42z'));\nexports.FolderOpenFill = getIcon('folder-open', fill, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zm-180 0H238c-13 0-24.8 7.9-29.7 20L136 643.2V256h188.5l119.6 114.4H748V444z'));\nexports.FolderFill = getIcon('folder', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z'));\nexports.ForwardFill = getIcon('forward', fill, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownFill = getIcon('frown', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FundFill = getIcon('fund', fill, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-92.3 194.4l-297 297.2a8.03 8.03 0 0 1-11.3 0L410.9 541.1 238.4 713.7a8.03 8.03 0 0 1-11.3 0l-36.8-36.8a8.03 8.03 0 0 1 0-11.3l214.9-215c3.1-3.1 8.2-3.1 11.3 0L531 565l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.2 3 3.2 8.1.1 11.2z'));\nexports.FunnelPlotFill = getIcon('funnel-plot', fill, getNode(newViewBox, 'M336.7 586h350.6l84.9-148H251.8zm543.4-432H143.9c-24.5 0-39.8 26.7-27.5 48L215 374h594l98.7-172c12.2-21.3-3.1-48-27.6-48zM349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V650H349v188z'));\nexports.GiftFill = getIcon('gift', fill, getNode(newViewBox, 'M160 894c0 17.7 14.3 32 32 32h286V550H160v344zm386 32h286c17.7 0 32-14.3 32-32V550H546v376zm334-616H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v140h366V310h68v172h366V342c0-17.7-14.3-32-32-32zm-402-4h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm138 0h-70v-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70z'));\nexports.GithubFill = getIcon('github', fill, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabFill = getIcon('gitlab', fill, getNode(newViewBox, 'M910.5 553.2l-109-370.8c-6.8-20.4-23.1-34.1-44.9-34.1s-39.5 12.3-46.3 32.7l-72.2 215.4H386.2L314 181.1c-6.8-20.4-24.5-32.7-46.3-32.7s-39.5 13.6-44.9 34.1L113.9 553.2c-4.1 13.6 1.4 28.6 12.3 36.8l385.4 289 386.7-289c10.8-8.1 16.3-23.1 12.2-36.8z'));\nexports.GoldenFill = getIcon('golden', fill, getNode(newViewBox, 'M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z'));\nexports.GoogleCircleFill = getIcon('google-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm167 633.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9C281.5 589 272 551.6 272 512s9.5-77 26.1-110.1c40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.GooglePlusCircleFill = getIcon('google-plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm36.5 558.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.GooglePlusSquareFill = getIcon('google-plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM548.5 622.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.HddFill = getIcon('hdd', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM456 216c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm576-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm96-152c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48z'));\nexports.GoogleSquareFill = getIcon('google-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM679 697.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9A245.02 245.02 0 0 1 272 512c0-39.6 9.5-77 26.1-110.1 40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.HeartFill = getIcon('heart', fill, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z'));\nexports.HighlightFill = getIcon('highlight', fill, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2z'));\nexports.HomeFill = getIcon('home', fill, getNode(newViewBox, 'M946.5 505L534.6 93.4a31.93 31.93 0 0 0-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z'));\nexports.HourglassFill = getIcon('hourglass', fill, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194z'));\nexports.Html5Fill = getIcon('html5', fill, getNode(newViewBox, 'M145.2 96l66 746.6L512 928l299.6-85.4L878.9 96H145.2zm595 177.1l-4.8 47.2-1.7 19.5H382.3l8.2 94.2h335.1l-3.3 24.3-21.2 242.2-1.7 16.2-187 51.6v.3h-1.2l-.3.1v-.1h-.1l-188.6-52L310.8 572h91.1l6.5 73.2 102.4 27.7h.4l102-27.6 11.4-118.6H510.9v-.1H306l-22.8-253.5-1.7-24.3h460.3l-1.6 24.3z'));\nexports.IdcardFill = getIcon('idcard', fill, getNode(newViewBox, 'M373 411c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52 51.7-23.3 51.7-52-23.2-52-51.7-52zm555-251H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM608 420c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm-86 253h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zm278.9-53H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48h.1c0 4.4-3.2 8-7.1 8z'));\nexports.IeCircleFill = getIcon('ie-circle', fill, getNode(newViewBox, 'M693.6 284.4c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm253.9 492.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.IeSquareFill = getIcon('ie-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM765.9 556.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zm-72.3-272.5c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.InfoCircleFill = getIcon('info-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.InstagramFill = getIcon('instagram', fill, getNode(newViewBox, 'M512 378.7c-73.4 0-133.3 59.9-133.3 133.3S438.6 645.3 512 645.3 645.3 585.4 645.3 512 585.4 378.7 512 378.7zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zM512 717.1c-113.5 0-205.1-91.6-205.1-205.1S398.5 306.9 512 306.9 717.1 398.5 717.1 512 625.5 717.1 512 717.1zm213.5-370.7c-26.5 0-47.9-21.4-47.9-47.9s21.4-47.9 47.9-47.9 47.9 21.4 47.9 47.9a47.84 47.84 0 0 1-47.9 47.9z'));\nexports.InsuranceFill = getIcon('insurance', fill, getNode(newViewBox, 'M519.9 358.8h97.9v41.6h-97.9zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM411.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm296.5-49.2l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a5.9 5.9 0 0 1-8.9-1.4L430 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5z'));\nexports.InterationFill = getIcon('interation', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z'));\nexports.LeftCircleFill = getIcon('left-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm104 316.9c0 10.2-4.9 19.9-13.2 25.9L457.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178a8 8 0 0 1 12.7 6.5v46.8z'));\nexports.LeftSquareFill = getIcon('left-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM624 380.9c0 10.2-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.8z'));\nexports.LayoutFill = getIcon('layout', fill, getNode(newViewBox, 'M384 912h496c17.7 0 32-14.3 32-32V340H384v572zm496-800H384v164h528V144c0-17.7-14.3-32-32-32zm-768 32v736c0 17.7 14.3 32 32 32h176V112H144c-17.7 0-32 14.3-32 32z'));\nexports.LikeFill = getIcon('like', fill, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z'));\nexports.LinkedinFill = getIcon('linkedin', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM349.3 793.7H230.6V411.9h118.7v381.8zm-59.3-434a68.8 68.8 0 1 1 68.8-68.8c-.1 38-30.9 68.8-68.8 68.8zm503.7 434H675.1V608c0-44.3-.8-101.2-61.7-101.2-61.7 0-71.2 48.2-71.2 98v188.9H423.7V411.9h113.8v52.2h1.6c15.8-30 54.5-61.7 112.3-61.7 120.2 0 142.3 79.1 142.3 181.9v209.4z'));\nexports.LockFill = getIcon('lock', fill, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z'));\nexports.MailFill = getIcon('mail', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-80.8 108.9L531.7 514.4c-7.8 6.1-18.7 6.1-26.5 0L189.6 268.9A7.2 7.2 0 0 1 194 256h648.8a7.2 7.2 0 0 1 4.4 12.9z'));\nexports.MedicineBoxFill = getIcon('medicine-box', fill, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48zm4-372H360v-72h304v72z'));\nexports.MediumCircleFill = getIcon('medium-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm256 253.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MediumSquareFill = getIcon('medium-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM768 317.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MehFill = getIcon('meh', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.MessageFill = getIcon('message', fill, getNode(newViewBox, 'M924.3 338.4a447.57 447.57 0 0 0-96.1-143.3 443.09 443.09 0 0 0-143-96.3A443.91 443.91 0 0 0 512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 0 0-141.7 96.5 445 445 0 0 0-95 142.8A449.89 449.89 0 0 0 65 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 0 0 199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 0 0 827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z'));\nexports.MinusCircleFill = getIcon('minus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MinusSquareFill = getIcon('minus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MobileFill = getIcon('mobile', fill, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.MoneyCollectFill = getIcon('money-collect', fill, getNode(newViewBox, 'M911.5 699.7a8 8 0 0 0-10.3-4.8L840 717.2V179c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V762c0 3.3 2.1 6.3 5.3 7.5L501 909.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zm-243.8-377L564 514.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V703c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 322.8c-2.1-3.8-.7-8.7 3.2-10.8 1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 484.2h3.3L599 315.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8z'));\nexports.NotificationFill = getIcon('notification', fill, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z'));\nexports.PauseCircleFill = getIcon('pause-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'));\nexports.PayCircleFill = getIcon('pay-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 0 1 7-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 0 1 7.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z'));\nexports.PhoneFill = getIcon('phone', fill, getNode(newViewBox, 'M885.6 230.2L779.1 123.8a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L549.8 238.4a80.83 80.83 0 0 0-23.8 57.3c0 21.7 8.5 42.1 23.8 57.4l83.8 83.8A393.82 393.82 0 0 1 553.1 553 395.34 395.34 0 0 1 437 633.8L353.2 550a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L123.8 664.5a80.89 80.89 0 0 0-23.8 57.4c0 21.7 8.5 42.1 23.8 57.4l106.3 106.3c24.4 24.5 58.1 38.4 92.7 38.4 7.3 0 14.3-.6 21.2-1.8 134.8-22.2 268.5-93.9 376.4-201.7C828.2 612.8 899.8 479.2 922.3 344c6.8-41.3-6.9-83.8-36.7-113.8z'));\nexports.PictureFill = getIcon('picture', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM338 304c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm513.9 437.1a8.11 8.11 0 0 1-5.2 1.9H177.2c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2l170.3-202c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l99.4 118 158.1-187.5c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l229.6 271.6c2.6 3.3 2.2 8.4-1.2 11.2z'));\nexports.PieChartFill = getIcon('pie-chart', fill, getNode(newViewBox, 'M863.1 518.5H505.5V160.9c0-4.4-3.6-8-8-8h-26a398.57 398.57 0 0 0-282.5 117 397.47 397.47 0 0 0-85.6 127C82.6 446.2 72 498.5 72 552.5S82.6 658.7 103.4 708c20.1 47.5 48.9 90.3 85.6 127 36.7 36.7 79.4 65.5 127 85.6a396.64 396.64 0 0 0 155.6 31.5 398.57 398.57 0 0 0 282.5-117c36.7-36.7 65.5-79.4 85.6-127a396.64 396.64 0 0 0 31.5-155.6v-26c-.1-4.4-3.7-8-8.1-8zM951 463l-2.6-28.2c-8.5-92-49.3-178.8-115.1-244.3A398.5 398.5 0 0 0 588.4 75.6L560.1 73c-4.7-.4-8.7 3.2-8.7 7.9v383.7c0 4.4 3.6 8 8 8l383.6-1c4.7-.1 8.4-4 8-8.6z'));\nexports.PlayCircleFill = getIcon('play-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 0 1-12.7-6.5V353.7a8 8 0 0 1 12.7-6.5L656.1 506a7.9 7.9 0 0 1 0 12.9z'));\nexports.PlaySquareFill = getIcon('play-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM641.7 520.8L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6z'));\nexports.PlusCircleFill = getIcon('plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.PoundCircleFill = getIcon('pound-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm146 658c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8V722z'));\nexports.ProfileFill = getIcon('profile', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM380 696c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm304 272c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48z'));\nexports.PlusSquareFill = getIcon('plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.ProjectFill = getIcon('project', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM368 744c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464zm192-280c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184zm192 72c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256z'));\nexports.PrinterFill = getIcon('printer', fill, getNode(newViewBox, 'M732 120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v148h440V120zm120 212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM664 844H360V568h304v276zm164-360c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'));\nexports.PropertySafetyFill = getIcon('property-safety', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM648.3 332.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.PushpinFill = getIcon('pushpin', fill, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z'));\nexports.QqCircleFill = getIcon('qq-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm210.5 612.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QqSquareFill = getIcon('qq-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM722.5 676.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QuestionCircleFill = getIcon('question-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'));\nexports.ReadFill = getIcon('read', fill, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM404 553.5c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm416 140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45z'));\nexports.ReconciliationFill = getIcon('reconciliation', fill, getNode(newViewBox, 'M676 623c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34-15.2-34-34-34zm204-455H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zM448 848H176V616h272v232zm0-296H176v-88h272v88zm20-272v-48h72v-56h64v56h72v48H468zm180 168v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8zm28 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-245c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v96zm-92 61c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'));\nexports.RedEnvelopeFill = getIcon('red-envelope', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM647 470.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4v25.1c0 4.6-3.8 8.4-8.4 8.4h-63.3v28.6h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.6-3.6 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4l-87.5-161c-2.2-4.1-.7-9.1 3.4-11.4 1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.9 141.8 71.9-141.9a8.5 8.5 0 0 1 7.5-4.6h47.8c4.6 0 8.4 3.8 8.4 8.4-.1 1.5-.5 2.9-1.1 4.1zM512.6 323L289 148h446L512.6 323z'));\nexports.RedditCircleFill = getIcon('reddit-circle', fill, getNode(newViewBox, 'M584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm245 477.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zm-171.3 83c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm72 108a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RedditSquareFill = getIcon('reddit-square', fill, getNode(newViewBox, 'M296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm289.7 184.9c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM757 541.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zM584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM368 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RestFill = getIcon('rest', fill, getNode(newViewBox, 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zM508 704c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zM291 256l22.4-76h397.2l22.4 76H291zm137 304a80 80 0 1 0 160 0 80 80 0 1 0-160 0z'));\nexports.RightCircleFill = getIcon('right-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm154.7 454.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.RightSquareFill = getIcon('right-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM658.7 518.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.RocketFill = getIcon('rocket', fill, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zM512 352a48.01 48.01 0 0 1 0 96 48.01 48.01 0 0 1 0-96zm116.1 432.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5z'));\nexports.SafetyCertificateFill = getIcon('safety-certificate', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SaveFill = getIcon('save', fill, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-12-12-28.3-18.7-45.3-18.7H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 176h256v112H384V176zm128 554c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zm0-224c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z'));\nexports.ScheduleFill = getIcon('schedule', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.5-91.3l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.2c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.5 12.9 6.6l52.8 73.1 103.7-143.7c3-4.2 7.8-6.6 12.9-6.6H792c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SecurityScanFill = getIcon('security-scan', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM626.8 554c-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0 56.3 56.3 56.3 147.5 0 203.8zm-158.54-45.27a80.1 80.1 0 1 0 113.27-113.28 80.1 80.1 0 1 0-113.27 113.28z'));\nexports.SettingFill = getIcon('setting', fill, getNode(newViewBox, 'M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 0 0-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a442.5 442.5 0 0 0-79.6-137.7l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.3a353.44 353.44 0 0 0-98.9 57.3l-81.8-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a445.93 445.93 0 0 0-79.6 137.7l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3a32.05 32.05 0 0 0 25.8 25.7l2.7.5a448.27 448.27 0 0 0 158.8 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c4.3-12.4.6-26.3-9.5-35zm-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z'));\nexports.ShopFill = getIcon('shop', fill, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h274V736h128v176h274c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zm-72 568H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm0-568.1H214v-88h596v88z'));\nexports.ShoppingFill = getIcon('shopping', fill, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-208 0H400v-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16z'));\nexports.SketchCircleFill = getIcon('sketch-circle', fill, getNode(newViewBox, 'M582.3 625.6l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zm-274.7 36L512 684.5l114.4-225.2zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm286.7 380.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-190.5-20.9L512 326.1l-96.2 97.2zM420.3 301.1l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8zm-222.4 7.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3z'));\nexports.SketchSquareFill = getIcon('sketch-square', fill, getNode(newViewBox, 'M608.2 423.3L512 326.1l-96.2 97.2zm-25.9 202.3l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-81.3 332.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-401.1 15.1L512 684.5l114.4-225.2zm-16.3-151.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3zm126.5-158.2l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8z'));\nexports.SkinFill = getIcon('skin', fill, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44z'));\nexports.SkypeFill = getIcon('skype', fill, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-370 162.9c-134.2 0-194.2-66-194.2-115.4 0-25.4 18.7-43.1 44.5-43.1 57.4 0 42.6 82.5 149.7 82.5 54.9 0 85.2-29.8 85.2-60.3 0-18.3-9-38.7-45.2-47.6l-119.4-29.8c-96.1-24.1-113.6-76.1-113.6-124.9 0-101.4 95.5-139.5 185.2-139.5 82.6 0 180 45.7 180 106.5 0 26.1-22.6 41.2-48.4 41.2-49 0-40-67.8-138.7-67.8-49 0-76.1 22.2-76.1 53.9s38.7 41.8 72.3 49.5l88.4 19.6c96.8 21.6 121.3 78.1 121.3 131.3 0 82.3-63.3 143.9-191 143.9z'));\nexports.SlackCircleFill = getIcon('slack-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm83.7-50.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM579.3 765c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8S529 593.6 529 580.2c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlackSquareFill = getIcon('slack-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlidersFill = getIcon('sliders', fill, getNode(newViewBox, 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-584-72h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm292 180h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8z'));\nexports.SmileFill = getIcon('smile', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.SnippetsFill = getIcon('snippets', fill, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 486H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundFill = getIcon('sound', fill, getNode(newViewBox, 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z'));\nexports.StarFill = getIcon('star', fill, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z'));\nexports.StepBackwardFill = getIcon('step-backward', fill, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardFill = getIcon('step-forward', fill, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopFill = getIcon('stop', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z'));\nexports.SwitcherFill = getIcon('switcher', fill, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zM596 606c0 4.4-3.6 8-8 8H308c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h280c4.4 0 8 3.6 8 8v48zm284-494H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'));\nexports.TabletFill = getIcon('tablet', fill, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.TagFill = getIcon('tag', fill, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM699 387c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z'));\nexports.TagsFill = getIcon('tags', fill, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm122.7-533.4c18.7-18.7 49.1-18.7 67.9 0 18.7 18.7 18.7 49.1 0 67.9-18.7 18.7-49.1 18.7-67.9 0-18.7-18.7-18.7-49.1 0-67.9zm283.8 282.9l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleFill = getIcon('taobao-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.TaobaoSquareFill = getIcon('taobao-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ThunderboltFill = getIcon('thunderbolt', fill, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z'));\nexports.ToolFill = getIcon('tool', fill, getNode(newViewBox, 'M865.3 244.7c-.3-.3-61.1 59.8-182.1 180.6l-84.9-84.9 180.9-180.9c-95.2-57.3-217.5-42.6-296.8 36.7A244.42 244.42 0 0 0 419 432l1.8 6.7-283.5 283.4c-6.2 6.2-6.2 16.4 0 22.6l141.4 141.4c6.2 6.2 16.4 6.2 22.6 0l283.3-283.3 6.7 1.8c83.7 22.3 173.6-.9 236-63.3 79.4-79.3 94.1-201.6 38-296.6z'));\nexports.TrademarkCircleFill = getIcon('trademark-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm164.7 660.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H378c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7zM523.9 357h-83.4v148H522c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'));\nexports.TrophyFill = getIcon('trophy', fill, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.6 630.2 359 721.8 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.8 758.4 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6c-37.1-11.9-64-46.7-64-87.6V232h64v207.6zM840 352c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.TwitterCircleFill = getIcon('twitter-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.TwitterSquareFill = getIcon('twitter-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM727.3 401.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.UnlockFill = getIcon('unlock', fill, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0z'));\nexports.UpCircleFill = getIcon('up-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm178 555h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UpSquareFill = getIcon('up-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM690 624h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UsbFill = getIcon('usb', fill, getNode(newViewBox, 'M408 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm352 120V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-72 0H336V184h352v248zM568 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.VideoCameraFill = getIcon('video-camera', fill, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM328 352c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48zm560 273l-104-59.8V458.9L888 399v226z'));\nexports.WalletFill = getIcon('wallet', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 464H528V448h320v128zm-268-64a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.WarningFill = getIcon('warning', fill, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.WechatFill = getIcon('wechat', fill, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WeiboCircleFill = getIcon('weibo-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WeiboSquareFill = getIcon('weibo-square', fill, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WindowsFill = getIcon('windows', fill, getNode(newViewBox, 'M523.8 191.4v288.9h382V128.1zm0 642.2l382 62.2v-352h-382zM120.1 480.2H443V201.9l-322.9 53.5zm0 290.4L443 823.2V543.8H120.1z'));\nexports.YahooFill = getIcon('yahoo', fill, getNode(newViewBox, 'M937.3 231H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7zm-77.4 450.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm225.2 225.2h-65.3L458.9 559.8v65.3h84.4v56.3H318.2v-56.3h84.4v-65.3L242.9 399.9h-37v-56.3h168.5v56.3h-37l93.4 93.5 28.1-28.1V400h168.8v56.2z'));\nexports.YoutubeFill = getIcon('youtube', fill, getNode(newViewBox, 'M941.3 296.1a112.3 112.3 0 0 0-79.2-79.3C792.2 198 512 198 512 198s-280.2 0-350.1 18.7A112.12 112.12 0 0 0 82.7 296C64 366 64 512 64 512s0 146 18.7 215.9c10.3 38.6 40.7 69 79.2 79.3C231.8 826 512 826 512 826s280.2 0 350.1-18.8c38.6-10.3 68.9-40.7 79.2-79.3C960 658 960 512 960 512s0-146-18.7-215.9zM423 646V378l232 133-232 135z'));\nexports.YuqueFill = getIcon('yuque', fill, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.9-8.1-195-3-195-3s87.4 55.6 52.4 154.7c-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6z'));\nexports.ZhihuCircleFill = getIcon('zhihu-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-90.7 477.8l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24-18.1 71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7H421.3zm346.5 167h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.ZhihuSquareFill = getIcon('zhihu-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM432.3 592.8l71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7h-110l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24.1-18.1zm335.5 116h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.AccountBookOutline = getIcon('account-book', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'));\nexports.AlertOutline = getIcon('alert', outline, getNode(newViewBox, 'M193 796c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563zm-48.1-252.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM832 892H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z'));\nexports.AlipayCircleOutline = getIcon('alipay-circle', outline, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AliwangwangOutline = getIcon('aliwangwang', outline, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10.1 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-66.4 266.5a307.08 307.08 0 0 1-65.9 98c-28.4 28.5-61.3 50.7-97.7 65.9h-.1c-38 16-78.3 24.2-119.9 24.2a306.51 306.51 0 0 1-217.5-90.2c-28.4-28.5-50.6-61.4-65.8-97.8v-.1c-16-37.8-24.1-78.2-24.1-119.9 0-55.4 14.8-109.7 42.8-157l13.2-22.1-9.5-23.9L206 192c14.9.6 35.9 2.1 59.7 5.6 43.8 6.5 82.5 17.5 114.9 32.6l19 8.9 19.9-6.8c31.5-10.8 64.8-16.2 98.9-16.2a306.51 306.51 0 0 1 217.5 90.2c28.4 28.5 50.6 61.4 65.8 97.8l.1.1.1.1c16 37.6 24.1 78 24.2 119.8-.1 41.7-8.3 82-24.3 119.8zM681.1 364.2c-20.4 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.6 37.1 37.1 37.1s37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1zm-175.2 0c-20.5 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.7 37.1 37.1 37.1 20.5 0 37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1z'));\nexports.AndroidOutline = getIcon('android', outline, getNode(newViewBox, 'M448.3 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32-13.4 32-31.9.1-18.4-13.4-31.9-32-31.9zm393.9 96.4c-13.8-13.8-32.7-21.5-53.2-21.5-3.9 0-7.4.4-10.7 1v-1h-3.6c-5.5-30.6-18.6-60.5-38.1-87.4-18.7-25.7-43-47.9-70.8-64.9l25.1-35.8v-3.3c0-.8.4-2.3.7-3.8.6-2.4 1.4-5.5 1.4-8.9 0-18.5-13.5-31.9-32-31.9-9.8 0-19.5 5.7-25.9 15.4l-29.3 42.1c-30-9.8-62.4-15-93.8-15-31.3 0-63.7 5.2-93.8 15L389 79.4c-6.6-9.6-16.1-15.4-26-15.4-18.6 0-32 13.4-32 31.9 0 6.2 2.5 12.8 6.7 17.4l22.6 32.3c-28.7 17-53.5 39.4-72.2 65.1-19.4 26.9-32 56.8-36.7 87.4h-5.5v1c-3.2-.6-6.7-1-10.7-1-20.3 0-39.2 7.5-53.1 21.3-13.8 13.8-21.5 32.6-21.5 53v235c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 3.9 0 7.4-.4 10.7-1v93.5c0 29.2 23.9 53.1 53.2 53.1H331v58.3c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-58.2H544v58.1c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.4 0 39.2-7.5 53.1-21.6 13.8-13.8 21.5-32.6 21.5-53v-58.2h31.9c29.3 0 53.2-23.8 53.2-53.1v-91.4c3.2.6 6.7 1 10.7 1 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-235c-.1-20.3-7.6-39-21.4-52.9zM246 609.6c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zm131.1-396.8c37.5-27.3 85.3-42.3 135-42.3s97.5 15.1 135 42.5c32.4 23.7 54.2 54.2 62.7 87.5H314.4c8.5-33.4 30.5-64 62.7-87.7zm39.3 674.7c-.6 5.6-4.4 8.7-10.5 8.7-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1zm202.3 8.7c-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1c-.6 5.6-4.3 8.7-10.5 8.7zm95.8-132.6H309.9V364h404.6v399.6zm85.2-154c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zM576.1 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32.1-13.4 32.1-32-.1-18.6-13.4-31.8-32.1-31.8z'));\nexports.ApiOutline = getIcon('api', outline, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 0 1-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z'));\nexports.AppleOutline = getIcon('apple', outline, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-10.6 267c-14.3 19.9-28.7 35.6-41.9 45.7-10.5 8-18.6 11.4-24 11.6-9-.1-17.7-2.3-34.7-8.8-1.2-.5-2.5-1-4.2-1.6l-4.4-1.7c-17.4-6.7-27.8-10.3-41.1-13.8-18.6-4.8-37.1-7.4-56.9-7.4-20.2 0-39.2 2.5-58.1 7.2-13.9 3.5-25.6 7.4-42.7 13.8-.7.3-8.1 3.1-10.2 3.9-3.5 1.3-6.2 2.3-8.7 3.2-10.4 3.6-17 5.1-22.9 5.2-.7 0-1.3-.1-1.8-.2-1.1-.2-2.5-.6-4.1-1.3-4.5-1.8-9.9-5.1-16-9.8-14-10.9-29.4-28-45.1-49.9-27.5-38.6-53.5-89.8-66-125.7-15.4-44.8-23-87.7-23-128.6 0-60.2 17.8-106 48.4-137.1 26.3-26.6 61.7-41.5 97.8-42.3 5.9.1 14.5 1.5 25.4 4.5 8.6 2.3 18 5.4 30.7 9.9 3.8 1.4 16.9 6.1 18.5 6.7 7.7 2.8 13.5 4.8 19.2 6.6 18.2 5.8 32.3 9 47.6 9 15.5 0 28.8-3.3 47.7-9.8 7.1-2.4 32.9-12 37.5-13.6 25.6-9.1 44.5-14 60.8-15.2 4.8-.4 9.1-.4 13.2-.1 22.7 1.8 42.1 6.3 58.6 13.8-37.6 43.4-57 96.5-56.9 158.4-.3 14.7.9 31.7 5.1 51.8 6.4 30.5 18.6 60.7 37.9 89 14.7 21.5 32.9 40.9 54.7 57.8-11.5 23.7-25.6 48.2-40.4 68.8zm-94.5-572c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.AppstoreOutline = getIcon('appstore', outline, getNode(newViewBox, 'M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'));\nexports.AudioOutline = getIcon('audio', outline, getNode(newViewBox, 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z'));\nexports.BackwardOutline = getIcon('backward', outline, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankOutline = getIcon('bank', outline, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z'));\nexports.BehanceSquareOutline = getIcon('behance-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BookOutline = getIcon('book', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z'));\nexports.BuildOutline = getIcon('build', outline, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z'));\nexports.BellOutline = getIcon('bell', outline, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z'));\nexports.BoxPlotOutline = getIcon('box-plot', outline, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM296 368h88v288h-88V368zm432 288H448V368h280v288z'));\nexports.BulbOutline = getIcon('bulb', outline, getNode(newViewBox, 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'));\nexports.CalculatorOutline = getIcon('calculator', outline, getNode(newViewBox, 'M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z'));\nexports.CalendarOutline = getIcon('calendar', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z'));\nexports.CarOutline = getIcon('car', outline, getNode(newViewBox, 'M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm239-167.6L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CameraOutline = getIcon('camera', outline, getNode(newViewBox, 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'));\nexports.CaretDownOutline = getIcon('caret-down', outline, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretLeftOutline = getIcon('caret-left', outline, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CaretRightOutline = getIcon('caret-right', outline, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CaretUpOutline = getIcon('caret-up', outline, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CarryOutOutline = getIcon('carry-out', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'));\nexports.CheckCircleOutline = getIcon('check-circle', outline, getNode(newViewBox, 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CheckSquareOutline = getIcon('check-square', outline, getNode(newViewBox, 'M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ChromeOutline = getIcon('chrome', outline, getNode(newViewBox, 'M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z'));\nexports.ClockCircleOutline = getIcon('clock-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z'));\nexports.CloseCircleOutline = getIcon('close-circle', outline, getNode(newViewBox, 'M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z', 'M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CloseSquareOutline = getIcon('close-square', outline, getNode(newViewBox, 'M354 671h58.9c4.7 0 9.2-2.1 12.3-5.7L512 561.8l86.8 103.5c3 3.6 7.5 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.4-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.7 0-9.2 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3-3.6-7.5-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CloudOutline = getIcon('cloud', outline, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'));\nexports.CodeOutline = getIcon('code', outline, getNode(newViewBox, 'M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CodepenCircleOutline = getIcon('codepen-circle', outline, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.ContactsOutline = getIcon('contacts', outline, getNode(newViewBox, 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52zm416-354H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'));\nexports.CompassOutline = getIcon('compass', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 0 0-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 0 0-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z'));\nexports.ContainerOutline = getIcon('container', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.ControlOutline = getIcon('control', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8s0 .1.1.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8 0 0 0 .1-.1.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7zM620 539v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8v.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8v.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7z'));\nexports.CopyOutline = getIcon('copy', outline, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'));\nexports.CreditCardOutline = getIcon('credit-card', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'));\nexports.CrownOutline = getIcon('crown', outline, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z'));\nexports.CustomerServiceOutline = getIcon('customer-service', outline, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'));\nexports.DashboardOutline = getIcon('dashboard', outline, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'));\nexports.DatabaseOutline = getIcon('database', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.DeleteOutline = getIcon('delete', outline, getNode(newViewBox, 'M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'));\nexports.DiffOutline = getIcon('diff', outline, getNode(newViewBox, 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7zm-7.1-502.6c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888zm190.2-581.4L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'));\nexports.DislikeOutline = getIcon('dislike', outline, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'));\nexports.DownCircleOutline = getIcon('down-circle', outline, getNode(newViewBox, 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.DownSquareOutline = getIcon('down-square', outline, getNode(newViewBox, 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.DribbbleSquareOutline = getIcon('dribbble-square', outline, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.EditOutline = getIcon('edit', outline, getNode(newViewBox, 'M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z'));\nexports.EnvironmentOutline = getIcon('environment', outline, getNode(newViewBox, 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1zm0-617.2c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8C612.4 381 624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'));\nexports.ExclamationCircleOutline = getIcon('exclamation-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z'));\nexports.ExperimentOutline = getIcon('experiment', outline, getNode(newViewBox, 'M512 472a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z'));\nexports.EyeInvisibleOutline = getIcon('eye-invisible', outline, getNode(newViewBox, 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zm-63.57-320.64L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z', 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'));\nexports.EyeOutline = getIcon('eye', outline, getNode(newViewBox, 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FacebookOutline = getIcon('facebook', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 736H663.9V602.2h104l15.6-120.7H663.9v-77.1c0-35 9.7-58.8 59.8-58.8h63.9v-108c-11.1-1.5-49-4.8-93.2-4.8-92.2 0-155.3 56.3-155.3 159.6v89H434.9v120.7h104.3V848H176V176h672v672z'));\nexports.FastBackwardOutline = getIcon('fast-backward', outline, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardOutline = getIcon('fast-forward', outline, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddOutline = getIcon('file-add', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'));\nexports.FileExcelOutline = getIcon('file-excel', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'));\nexports.FileExclamationOutline = getIcon('file-exclamation', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM472 744a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z'));\nexports.FileImageOutline = getIcon('file-image', outline, getNode(newViewBox, 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FilePdfOutline = getIcon('file-pdf', outline, getNode(newViewBox, 'M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileMarkdownOutline = getIcon('file-markdown', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'));\nexports.FilePptOutline = getIcon('file-ppt', outline, getNode(newViewBox, 'M424 476c-4.4 0-8 3.6-8 8v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.3c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1zm280-281.7L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileTextOutline = getIcon('file-text', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z'));\nexports.FileUnknownOutline = getIcon('file-unknown', outline, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm78 195a32 32 0 1 0 64 0 32 32 0 1 0-64 0z'));\nexports.FileWordOutline = getIcon('file-word', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'));\nexports.FileZipOutline = getIcon('file-zip', outline, getNode(newViewBox, 'M296 392h64v64h-64zm0 190v160h128V582h-64v-62h-64v62zm80 48v64h-32v-64h32zm-16-302h64v64h-64zm-64-64h64v64h-64zm64 192h64v64h-64zm0-256h64v64h-64zm494.6 88.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileOutline = getIcon('file', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FilterOutline = getIcon('filter', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'));\nexports.FireOutline = getIcon('fire', outline, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'));\nexports.FlagOutline = getIcon('flag', outline, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'));\nexports.FolderAddOutline = getIcon('folder-add', outline, getNode(newViewBox, 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1zm396-144.7H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.FolderOpenOutline = getIcon('folder-open', outline, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'));\nexports.FolderOutline = getIcon('folder', outline, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.ForwardOutline = getIcon('forward', outline, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownOutline = getIcon('frown', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM512 533c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4C420 636.1 461.5 597 512 597s92.1 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533z'));\nexports.FundOutline = getIcon('fund', outline, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-40 632H134V236h752v560zm-658.9-82.3c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L531 565 416.6 450.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'));\nexports.GiftOutline = getIcon('gift', outline, getNode(newViewBox, 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z'));\nexports.FunnelPlotOutline = getIcon('funnel-plot', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'));\nexports.GithubOutline = getIcon('github', outline, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabOutline = getIcon('gitlab', outline, getNode(newViewBox, 'M913.9 552.2L805 181.4v-.1c-7.6-22.9-25.7-36.5-48.3-36.5-23.4 0-42.5 13.5-49.7 35.2l-71.4 213H388.8l-71.4-213c-7.2-21.7-26.3-35.2-49.7-35.2-23.1 0-42.5 14.8-48.4 36.6L110.5 552.2c-4.4 14.7 1.2 31.4 13.5 40.7l368.5 276.4c2.6 3.6 6.2 6.3 10.4 7.8l8.6 6.4 8.5-6.4c4.9-1.7 9-4.7 11.9-8.9l368.4-275.4c12.4-9.2 18-25.9 13.6-40.6zM751.7 193.4c1-1.8 2.9-1.9 3.5-1.9 1.1 0 2.5.3 3.4 3L818 394.3H684.5l67.2-200.9zm-487.4 1c.9-2.6 2.3-2.9 3.4-2.9 2.7 0 2.9.1 3.4 1.7l67.3 201.2H206.5l57.8-200zM158.8 558.7l28.2-97.3 202.4 270.2-230.6-172.9zm73.9-116.4h122.1l90.8 284.3-212.9-284.3zM512.9 776L405.7 442.3H620L512.9 776zm157.9-333.7h119.5L580 723.1l90.8-280.8zm-40.7 293.9l207.3-276.7 29.5 99.2-236.8 177.5z'));\nexports.HddOutline = getIcon('hdd', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.HeartOutline = getIcon('heart', outline, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'));\nexports.HighlightOutline = getIcon('highlight', outline, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z'));\nexports.HomeOutline = getIcon('home', outline, getNode(newViewBox, 'M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'));\nexports.HourglassOutline = getIcon('hourglass', outline, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'));\nexports.Html5Outline = getIcon('html5', outline, getNode(newViewBox, 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2zM281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'));\nexports.IdcardOutline = getIcon('idcard', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'));\nexports.InfoCircleOutline = getIcon('info-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'));\nexports.InstagramOutline = getIcon('instagram', outline, getNode(newViewBox, 'M512 306.9c-113.5 0-205.1 91.6-205.1 205.1S398.5 717.1 512 717.1 717.1 625.5 717.1 512 625.5 306.9 512 306.9zm0 338.4c-73.4 0-133.3-59.9-133.3-133.3S438.6 378.7 512 378.7 645.3 438.6 645.3 512 585.4 645.3 512 645.3zm213.5-394.6c-26.5 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9 47.9-21.3 47.9-47.9a47.84 47.84 0 0 0-47.9-47.9zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zm-88 235.8c-7.3 18.2-16.1 31.8-30.2 45.8-14.1 14.1-27.6 22.9-45.8 30.2C695.2 844.7 570.3 840 512 840c-58.3 0-183.3 4.7-235.9-16.1-18.2-7.3-31.8-16.1-45.8-30.2-14.1-14.1-22.9-27.6-30.2-45.8C179.3 695.2 184 570.3 184 512c0-58.3-4.7-183.3 16.1-235.9 7.3-18.2 16.1-31.8 30.2-45.8s27.6-22.9 45.8-30.2C328.7 179.3 453.7 184 512 184s183.3-4.7 235.9 16.1c18.2 7.3 31.8 16.1 45.8 30.2 14.1 14.1 22.9 27.6 30.2 45.8C844.7 328.7 840 453.7 840 512c0 58.3 4.7 183.2-16.2 235.8z'));\nexports.InsuranceOutline = getIcon('insurance', outline, getNode(newViewBox, 'M441.6 306.8L403 288.6a6.1 6.1 0 0 0-8.4 3.7c-17.5 58.5-45.2 110.1-82.2 153.6a6.05 6.05 0 0 0-1.2 5.6l13.2 43.5c1.3 4.4 7 5.7 10.2 2.4 7.7-8.1 15.4-16.9 23.1-26V656c0 4.4 3.6 8 8 8H403c4.4 0 8-3.6 8-8V393.1a429.2 429.2 0 0 0 33.6-79c1-2.9-.3-6-3-7.3zm26.8 9.2v127.2c0 4.4 3.6 8 8 8h65.9v18.6h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c1.9 3.1 6.2 3.8 8.9 1.4 31.6-26.8 58.7-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V536c21.3 41.7 47.5 77.5 78.1 106.9 2.6 2.5 6.8 2.1 8.9-.7l26.3-35.3c2-2.7 1.4-6.5-1.2-8.4-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8V478c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H476.4c-4.4 0-8 3.6-8 8zm51.5 42.8h97.9v41.6h-97.9v-41.6zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'));\nexports.InterationOutline = getIcon('interation', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'));\nexports.LeftCircleOutline = getIcon('left-circle', outline, getNode(newViewBox, 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.LeftSquareOutline = getIcon('left-square', outline, getNode(newViewBox, 'M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 0 0 0 13z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.LayoutOutline = getIcon('layout', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z'));\nexports.LikeOutline = getIcon('like', outline, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0 1 42.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z'));\nexports.LinkedinOutline = getIcon('linkedin', outline, getNode(newViewBox, 'M847.7 112H176.3c-35.5 0-64.3 28.8-64.3 64.3v671.4c0 35.5 28.8 64.3 64.3 64.3h671.4c35.5 0 64.3-28.8 64.3-64.3V176.3c0-35.5-28.8-64.3-64.3-64.3zm0 736c-447.8-.1-671.7-.2-671.7-.3.1-447.8.2-671.7.3-671.7 447.8.1 671.7.2 671.7.3-.1 447.8-.2 671.7-.3 671.7zM230.6 411.9h118.7v381.8H230.6zm59.4-52.2c37.9 0 68.8-30.8 68.8-68.8a68.8 68.8 0 1 0-137.6 0c-.1 38 30.7 68.8 68.8 68.8zm252.3 245.1c0-49.8 9.5-98 71.2-98 60.8 0 61.7 56.9 61.7 101.2v185.7h118.6V584.3c0-102.8-22.2-181.9-142.3-181.9-57.7 0-96.4 31.7-112.3 61.7h-1.6v-52.2H423.7v381.8h118.6V604.8z'));\nexports.LockOutline = getIcon('lock', outline, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.MailOutline = getIcon('mail', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z'));\nexports.MedicineBoxOutline = getIcon('medicine-box', outline, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MehOutline = getIcon('meh', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 565H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MessageOutline = getIcon('message', outline, getNode(newViewBox, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'));\nexports.MinusCircleOutline = getIcon('minus-circle', outline, getNode(newViewBox, 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.MinusSquareOutline = getIcon('minus-square', outline, getNode(newViewBox, 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.MobileOutline = getIcon('mobile', outline, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.MoneyCollectOutline = getIcon('money-collect', outline, getNode(newViewBox, 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM512 837.5l-256-93.1V184h512v560.4l-256 93.1zM660.6 312h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9z'));\nexports.NotificationOutline = getIcon('notification', outline, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'));\nexports.PauseCircleOutline = getIcon('pause-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'));\nexports.PayCircleOutline = getIcon('pay-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z'));\nexports.PhoneOutline = getIcon('phone', outline, getNode(newViewBox, 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'));\nexports.PictureOutline = getIcon('picture', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'));\nexports.PieChartOutline = getIcon('pie-chart', outline, getNode(newViewBox, 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552a398.46 398.46 0 0 0 117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952a398.46 398.46 0 0 0 282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'));\nexports.PlayCircleOutline = getIcon('play-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M719.4 499.1l-296.1-215A15.9 15.9 0 0 0 398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 0 0 0-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z'));\nexports.PlaySquareOutline = getIcon('play-square', outline, getNode(newViewBox, 'M442.3 677.6l199.4-156.7a11.3 11.3 0 0 0 0-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PlusCircleOutline = getIcon('plus-circle', outline, getNode(newViewBox, 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.ProfileOutline = getIcon('profile', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.PlusSquareOutline = getIcon('plus-square', outline, getNode(newViewBox, 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ProjectOutline = getIcon('project', outline, getNode(newViewBox, 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PrinterOutline = getIcon('printer', outline, getNode(newViewBox, 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8zm32-104H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'));\nexports.PropertySafetyOutline = getIcon('property-safety', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM430.5 318h-46c-1.7 0-3.3.4-4.8 1.2a10.1 10.1 0 0 0-4 13.6l88 161.1h-45.2c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7h-63.1c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1a10.05 10.05 0 0 0-8.8-14.8h-45c-3.8 0-7.2 2.1-8.9 5.5l-73.2 144.3-72.9-144.3c-1.7-3.4-5.2-5.5-9-5.5z'));\nexports.PushpinOutline = getIcon('pushpin', outline, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'));\nexports.QuestionCircleOutline = getIcon('question-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ReadOutline = getIcon('read', outline, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z'));\nexports.ReconciliationOutline = getIcon('reconciliation', outline, getNode(newViewBox, 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34zm204-523H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552zM704 408v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zM592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.RedEnvelopeOutline = getIcon('red-envelope', outline, getNode(newViewBox, 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142zM832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'));\nexports.RestOutline = getIcon('rest', outline, getNode(newViewBox, 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z', 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'));\nexports.RightCircleOutline = getIcon('right-circle', outline, getNode(newViewBox, 'M666.7 505.5l-246-178A8 8 0 0 0 408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.RightSquareOutline = getIcon('right-square', outline, getNode(newViewBox, 'M412.7 696.5l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5V381c0 10.2 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.RocketOutline = getIcon('rocket', outline, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0 1 62.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'));\nexports.SafetyCertificateOutline = getIcon('safety-certificate', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'));\nexports.SaveOutline = getIcon('save', outline, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'));\nexports.ScheduleOutline = getIcon('schedule', outline, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 136H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm308.2-177.4L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5z'));\nexports.SecurityScanOutline = getIcon('security-scan', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z'));\nexports.SettingOutline = getIcon('setting', outline, getNode(newViewBox, 'M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5a449.4 449.4 0 0 0 159 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2z'));\nexports.ShopOutline = getIcon('shop', outline, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm30-404.4c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'));\nexports.ShoppingOutline = getIcon('shopping', outline, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'));\nexports.SkinOutline = getIcon('skin', outline, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'));\nexports.SkypeOutline = getIcon('skype', outline, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-88.1 216C766.9 823.4 729 839 688.4 839c-26.1 0-51.8-6.8-74.6-19.7l-22.5-12.7-25.5 4.5c-17.8 3.2-35.8 4.8-53.6 4.8-41.4 0-81.3-8.1-119.1-24.1-36.3-15.3-69-37.3-97.2-65.5a304.29 304.29 0 0 1-65.5-97.1c-16-37.7-24-77.6-24-119 0-17.4 1.6-35.2 4.6-52.8l4.4-25.1L203 410a151.02 151.02 0 0 1-19.1-73.4c0-40.6 15.7-78.5 44.4-107.2C257.1 200.7 295 185 335.6 185a153 153 0 0 1 71.4 17.9l22.4 11.8 24.8-4.8c18.9-3.6 38.4-5.5 58-5.5 41.4 0 81.3 8.1 119 24 36.5 15.4 69.1 37.4 97.2 65.5 28.2 28.1 50.2 60.8 65.6 97.2 16 37.7 24 77.6 24 119 0 18.4-1.7 37-5.1 55.5l-4.7 25.5 12.6 22.6c12.6 22.5 19.2 48 19.2 73.7 0 40.7-15.7 78.5-44.4 107.2zM583.4 466.2L495 446.6c-33.6-7.7-72.3-17.8-72.3-49.5s27.1-53.9 76.1-53.9c98.7 0 89.7 67.8 138.7 67.8 25.8 0 48.4-15.2 48.4-41.2 0-60.8-97.4-106.5-180-106.5-89.7 0-185.2 38.1-185.2 139.5 0 48.8 17.4 100.8 113.6 124.9l119.4 29.8c36.1 8.9 45.2 29.2 45.2 47.6 0 30.5-30.3 60.3-85.2 60.3-107.2 0-92.3-82.5-149.7-82.5-25.8 0-44.5 17.8-44.5 43.1 0 49.4 60 115.4 194.2 115.4 127.7 0 191-61.5 191-144 0-53.1-24.5-109.6-121.3-131.2z'));\nexports.SlackSquareOutline = getIcon('slack-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlidersOutline = getIcon('sliders', outline, getNode(newViewBox, 'M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74z'));\nexports.SmileOutline = getIcon('smile', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4z'));\nexports.SnippetsOutline = getIcon('snippets', outline, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundOutline = getIcon('sound', outline, getNode(newViewBox, 'M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344z'));\nexports.StarOutline = getIcon('star', outline, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z'));\nexports.StepBackwardOutline = getIcon('step-backward', outline, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardOutline = getIcon('step-forward', outline, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopOutline = getIcon('stop', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z'));\nexports.SwitcherOutline = getIcon('switcher', outline, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528zm168-728H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM300 550h296v64H300z'));\nexports.TabletOutline = getIcon('tablet', outline, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.TagOutline = getIcon('tag', outline, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'));\nexports.TagsOutline = getIcon('tags', outline, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1 0 67.88-67.89 48 48 0 1 0-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleOutline = getIcon('taobao-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ThunderboltOutline = getIcon('thunderbolt', outline, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z'));\nexports.ToolOutline = getIcon('tool', outline, getNode(newViewBox, 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'));\nexports.TrophyOutline = getIcon('trophy', outline, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM184 352V232h64v207.6a91.99 91.99 0 0 1-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.UnlockOutline = getIcon('unlock', outline, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.UpCircleOutline = getIcon('up-circle', outline, getNode(newViewBox, 'M518.5 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.UpSquareOutline = getIcon('up-square', outline, getNode(newViewBox, 'M334 624h46.9c10.2 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246A7.96 7.96 0 0 0 334 624z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.UsbOutline = getIcon('usb', outline, getNode(newViewBox, 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-424 0V184h352v248H336zm120-184h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.VideoCameraOutline = getIcon('video-camera', outline, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.WalletOutline = getIcon('wallet', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.WarningOutline = getIcon('warning', outline, getNode(newViewBox, 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'));\nexports.WechatOutline = getIcon('wechat', outline, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WeiboCircleOutline = getIcon('weibo-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WeiboSquareOutline = getIcon('weibo-square', outline, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WindowsOutline = getIcon('windows', outline, getNode(newViewBox, 'M120.1 770.6L443 823.2V543.8H120.1v226.8zm63.4-163.5h196.2v141.6l-196.2-31.9V607.1zm340.3 226.5l382 62.2v-352h-382v289.8zm63.4-226.5h255.3v214.4l-255.3-41.6V607.1zm-63.4-415.7v288.8h382V128.1l-382 63.3zm318.7 225.5H587.3V245l255.3-42.3v214.2zm-722.4 63.3H443V201.9l-322.9 53.5v224.8zM183.5 309l196.2-32.5v140.4H183.5V309z'));\nexports.YahooOutline = getIcon('yahoo', outline, getNode(newViewBox, 'M859.9 681.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm0 507C245.1 738 121 634.6 121 512.5c0-62.3 32.3-119.7 84.9-161v48.4h37l159.8 159.9v65.3h-84.4v56.3h225.1v-56.3H459v-65.3l103.5-103.6h65.3v-56.3H459v65.3l-28.1 28.1-93.4-93.5h37v-56.3H216.4c49.4-35 114.3-56.6 186.2-56.6 157.6 0 281.6 103.4 281.6 225.5S560.2 738 402.6 738zm534.7-507H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7z'));\nexports.YoutubeOutline = getIcon('youtube', outline, getNode(newViewBox, 'M960 509.2c0-2.2 0-4.7-.1-7.6-.1-8.1-.3-17.2-.5-26.9-.8-27.9-2.2-55.7-4.4-81.9-3-36.1-7.4-66.2-13.4-88.8a139.52 139.52 0 0 0-98.3-98.5c-28.3-7.6-83.7-12.3-161.7-15.2-37.1-1.4-76.8-2.3-116.5-2.8-13.9-.2-26.8-.3-38.4-.4h-29.4c-11.6.1-24.5.2-38.4.4-39.7.5-79.4 1.4-116.5 2.8-78 3-133.5 7.7-161.7 15.2A139.35 139.35 0 0 0 82.4 304C76.3 326.6 72 356.7 69 392.8c-2.2 26.2-3.6 54-4.4 81.9-.3 9.7-.4 18.8-.5 26.9 0 2.9-.1 5.4-.1 7.6v5.6c0 2.2 0 4.7.1 7.6.1 8.1.3 17.2.5 26.9.8 27.9 2.2 55.7 4.4 81.9 3 36.1 7.4 66.2 13.4 88.8 12.8 47.9 50.4 85.7 98.3 98.5 28.2 7.6 83.7 12.3 161.7 15.2 37.1 1.4 76.8 2.3 116.5 2.8 13.9.2 26.8.3 38.4.4h29.4c11.6-.1 24.5-.2 38.4-.4 39.7-.5 79.4-1.4 116.5-2.8 78-3 133.5-7.7 161.7-15.2 47.9-12.8 85.5-50.5 98.3-98.5 6.1-22.6 10.4-52.7 13.4-88.8 2.2-26.2 3.6-54 4.4-81.9.3-9.7.4-18.8.5-26.9 0-2.9.1-5.4.1-7.6v-5.6zm-72 5.2c0 2.1 0 4.4-.1 7.1-.1 7.8-.3 16.4-.5 25.7-.7 26.6-2.1 53.2-4.2 77.9-2.7 32.2-6.5 58.6-11.2 76.3-6.2 23.1-24.4 41.4-47.4 47.5-21 5.6-73.9 10.1-145.8 12.8-36.4 1.4-75.6 2.3-114.7 2.8-13.7.2-26.4.3-37.8.3h-28.6l-37.8-.3c-39.1-.5-78.2-1.4-114.7-2.8-71.9-2.8-124.9-7.2-145.8-12.8-23-6.2-41.2-24.4-47.4-47.5-4.7-17.7-8.5-44.1-11.2-76.3-2.1-24.7-3.4-51.3-4.2-77.9-.3-9.3-.4-18-.5-25.7 0-2.7-.1-5.1-.1-7.1v-4.8c0-2.1 0-4.4.1-7.1.1-7.8.3-16.4.5-25.7.7-26.6 2.1-53.2 4.2-77.9 2.7-32.2 6.5-58.6 11.2-76.3 6.2-23.1 24.4-41.4 47.4-47.5 21-5.6 73.9-10.1 145.8-12.8 36.4-1.4 75.6-2.3 114.7-2.8 13.7-.2 26.4-.3 37.8-.3h28.6l37.8.3c39.1.5 78.2 1.4 114.7 2.8 71.9 2.8 124.9 7.2 145.8 12.8 23 6.2 41.2 24.4 47.4 47.5 4.7 17.7 8.5 44.1 11.2 76.3 2.1 24.7 3.4 51.3 4.2 77.9.3 9.3.4 18 .5 25.7 0 2.7.1 5.1.1 7.1v4.8zM423 646l232-135-232-133z'));\nexports.YuqueOutline = getIcon('yuque', outline, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.8-8.1-194.9-3-195-3 .1 0 87.4 55.6 52.4 154.7-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6zm-204.1 334c-10.6 0-26.2.1-46.8.3l-23.6.2-17.8 15.5c-47.1 41-104.4 71.5-171.4 87.6-52.5 12.6-110 16.2-172.7 9.6 18-20.5 36.5-41.6 55.4-63.1 92-104.6 173.8-197.5 236.9-268.5l1.4-1.4 1.3-1.5c4.1-4.6 20.6-23.3 24.7-28.1 9.7-11.1 17.3-19.9 24.5-28.6 30.7-36.7 52.2-67.8 69-102.2l1.6-3.3 1.2-3.4c13.7-38.8 15.4-76.9 6.2-112.8 22.5.7 46.5 1.9 71.7 3.6 33.3 2.3 55.5 12.9 71.1 29.2 5.8 6 10.2 12.5 13.4 18.7 1 2 1.7 3.6 2.3 5l5 17.7c-15.7 34.5-19.9 73.3-11.4 107.2 3 11.8 6.9 22.4 12.3 34.4 2.1 4.7 9.5 20.1 11 23.3 10.3 22.7 15.4 43 16.7 78.7 3.3 94.6-82.7 181.9-182 181.9z'));\nexports.AlibabaOutline = getIcon('alibaba', outline, getNode(newViewBox, 'M602.9 669.8c-37.2 2.6-33.6-17.3-11.5-46.2 50.4-67.2 143.7-158.5 147.9-225.2 5.8-86.6-81.3-113.4-171-113.4-62.4 1.6-127 18.9-171 34.6-151.6 53.5-246.6 137.5-306.9 232-62.4 93.4-43 183.2 91.8 185.8 101.8-4.2 170.5-32.5 239.7-68.2.5 0-192.5 55.1-263.9 14.7-7.9-4.2-15.7-10-17.8-26.2 0-33.1 54.6-67.7 86.6-78.7v-56.7c64.5 22.6 140.6 16.3 205.7-32 2.1 5.8 4.2 13.1 3.7 21h11c2.6-22.6-12.6-44.6-37.8-46.2 7.3 5.8 12.6 10.5 15.2 14.7l-1 1-.5.5c-83.9 58.8-165.3 31.5-173.1 29.9l46.7-45.7-13.1-33.1c92.9-32.5 169.5-56.2 296.9-78.7l-28.5-23 14.7-8.9c75.5 21 126.4 36.7 123.8 76.6-1 6.8-3.7 14.7-7.9 23.1C660.1 466.1 594 538 567.2 569c-17.3 20.5-34.6 39.4-46.7 58.3-13.6 19.4-20.5 37.3-21 53.5 2.6 131.8 391.4-61.9 468-112.9-111.7 47.8-232.9 93.5-364.6 101.9zm85-302.9c2.8 5.2 4.1 11.6 4.1 19.1-.1-6.8-1.4-13.3-4.1-19.1z'));\nexports.AlignCenterOutline = getIcon('align-center', outline, getNode(newViewBox, 'M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignLeftOutline = getIcon('align-left', outline, getNode(newViewBox, 'M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignRightOutline = getIcon('align-right', outline, getNode(newViewBox, 'M904 158H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 424H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 212H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlipayOutline = getIcon('alipay', outline, getNode(newViewBox, 'M789 610.3c-38.7-12.9-90.7-32.7-148.5-53.6 34.8-60.3 62.5-129 80.7-203.6H530.5v-68.6h233.6v-38.3H530.5V132h-95.4c-16.7 0-16.7 16.5-16.7 16.5v97.8H182.2v38.3h236.3v68.6H223.4v38.3h378.4a667.18 667.18 0 0 1-54.5 132.9c-122.8-40.4-253.8-73.2-336.1-53-52.6 13-86.5 36.1-106.5 60.3-91.4 111-25.9 279.6 167.2 279.6C386 811.2 496 747.6 581.2 643 708.3 704 960 808.7 960 808.7V659.4s-31.6-2.5-171-49.1zM253.9 746.6c-150.5 0-195-118.3-120.6-183.1 24.8-21.9 70.2-32.6 94.4-35 89.4-8.8 172.2 25.2 269.9 72.8-68.8 89.5-156.3 145.3-243.7 145.3z'));\nexports.AliyunOutline = getIcon('aliyun', outline, getNode(newViewBox, 'M959.2 383.9c-.3-82.1-66.9-148.6-149.1-148.6H575.9l21.6 85.2 201 43.7a42.58 42.58 0 0 1 32.9 39.7c.1.5.1 216.1 0 216.6a42.58 42.58 0 0 1-32.9 39.7l-201 43.7-21.6 85.3h234.2c82.1 0 148.8-66.5 149.1-148.6V383.9zM225.5 660.4a42.58 42.58 0 0 1-32.9-39.7c-.1-.6-.1-216.1 0-216.6.8-19.4 14.6-35.5 32.9-39.7l201-43.7 21.6-85.2H213.8c-82.1 0-148.8 66.4-149.1 148.6V641c.3 82.1 67 148.6 149.1 148.6H448l-21.6-85.3-200.9-43.9zm200.9-158.8h171v21.3h-171z'));\nexports.AmazonOutline = getIcon('amazon', outline, getNode(newViewBox, 'M825 768.9c-3.3-.9-7.3-.4-11.9 1.3-61.6 28.2-121.5 48.3-179.7 60.2C507.7 856 385.2 842.6 266 790.3c-33.1-14.6-79.1-39.2-138-74a9.36 9.36 0 0 0-5.3-2c-2-.1-3.7.1-5.3.9-1.6.8-2.8 1.8-3.7 3.1-.9 1.3-1.1 3.1-.4 5.4.6 2.2 2.1 4.7 4.6 7.4 10.4 12.2 23.3 25.2 38.6 39s35.6 29.4 60.9 46.8c25.3 17.4 51.8 32.9 79.3 46.4 27.6 13.5 59.6 24.9 96.1 34.1s73 13.8 109.4 13.8c36.2 0 71.4-3.7 105.5-10.9 34.2-7.3 63-15.9 86.5-25.9 23.4-9.9 45-21 64.8-33 19.8-12 34.4-22.2 43.9-30.3 9.5-8.2 16.3-14.6 20.2-19.4 4.6-5.7 6.9-10.6 6.9-14.9.1-4.5-1.7-7.1-5-7.9zM527.4 348.1c-15.2 1.3-33.5 4.1-55 8.3-21.5 4.1-41.4 9.3-59.8 15.4s-37.2 14.6-56.3 25.4c-19.2 10.8-35.5 23.2-49 37s-24.5 31.1-33.1 52c-8.6 20.8-12.9 43.7-12.9 68.7 0 27.1 4.7 51.2 14.3 72.5 9.5 21.3 22.2 38 38.2 50.4 15.9 12.4 34 22.1 54 29.2 20 7.1 41.2 10.3 63.2 9.4 22-.9 43.5-4.3 64.4-10.3 20.8-5.9 40.4-15.4 58.6-28.3 18.2-12.9 33.1-28.2 44.8-45.7 4.3 6.6 8.1 11.5 11.5 14.7l8.7 8.9c5.8 5.9 14.7 14.6 26.7 26.1 11.9 11.5 24.1 22.7 36.3 33.7l104.4-99.9-6-4.9c-4.3-3.3-9.4-8-15.2-14.3-5.8-6.2-11.6-13.1-17.2-20.5-5.7-7.4-10.6-16.1-14.7-25.9-4.1-9.8-6.2-19.3-6.2-28.5V258.7c0-10.1-1.9-21-5.7-32.8-3.9-11.7-10.7-24.5-20.7-38.3-10-13.8-22.4-26.2-37.2-37-14.9-10.8-34.7-20-59.6-27.4-24.8-7.4-52.6-11.1-83.2-11.1-31.3 0-60.4 3.7-87.6 10.9-27.1 7.3-50.3 17-69.7 29.2-19.3 12.2-35.9 26.3-49.7 42.4-13.8 16.1-24.1 32.9-30.8 50.4-6.7 17.5-10.1 35.2-10.1 53.1L408 310c5.5-16.4 12.9-30.6 22-42.8 9.2-12.2 17.9-21 25.8-26.5 8-5.5 16.6-9.9 25.7-13.2 9.2-3.3 15.4-5 18.6-5.4 3.2-.3 5.7-.4 7.6-.4 26.7 0 45.2 7.9 55.6 23.6 6.5 9.5 9.7 23.9 9.7 43.3v56.6c-15.2.6-30.4 1.6-45.6 2.9zM573.1 500c0 16.6-2.2 31.7-6.5 45-9.2 29.1-26.7 47.4-52.4 54.8-22.4 6.6-43.7 3.3-63.9-9.8-21.5-14-32.2-33.8-32.2-59.3 0-19.9 5-36.9 15-51.1 10-14.1 23.3-24.7 40-31.7s33-12 49-14.9c15.9-3 33-4.8 51-5.4V500zm335.2 218.9c-4.3-5.4-15.9-8.9-34.9-10.7-19-1.8-35.5-1.7-49.7.4-15.3 1.8-31.1 6.2-47.3 13.4-16.3 7.1-23.4 13.1-21.6 17.8l.7 1.3.9.7 1.4.2h4.6c.8 0 1.8-.1 3.2-.2 1.4-.1 2.7-.3 3.9-.4 1.2-.1 2.9-.3 5.1-.4 2.1-.1 4.1-.4 6-.7.3 0 3.7-.3 10.3-.9 6.6-.6 11.4-1 14.3-1.3 2.9-.3 7.8-.6 14.5-.9 6.7-.3 12.1-.3 16.1 0 4 .3 8.5.7 13.6 1.1 5.1.4 9.2 1.3 12.4 2.7 3.2 1.3 5.6 3 7.1 5.1 5.2 6.6 4.2 21.2-3 43.9s-14 40.8-20.4 54.2c-2.8 5.7-2.8 9.2 0 10.7s6.7.1 11.9-4c15.6-12.2 28.6-30.6 39.1-55.3 6.1-14.6 10.5-29.8 13.1-45.7 2.4-15.9 2-26.2-1.3-31z'));\nexports.AntCloudOutline = getIcon('ant-cloud', outline, getNode(newViewBox, 'M378.9 738c-3.1 0-6.1-.5-8.8-1.5l4.4 30.7h26.3l-15.5-29.9c-2.1.5-4.2.7-6.4.7zm421-291.2c-12.6 0-24.8 1.5-36.5 4.2-21.4-38.4-62.3-64.3-109.3-64.3-6.9 0-13.6.6-20.2 1.6-35.4-77.4-113.4-131.1-203.9-131.1-112.3 0-205.3 82.6-221.6 190.4C127.3 455.5 64 523.8 64 607c0 88.4 71.6 160.1 160 160.2h50l13.2-27.6c-26.2-8.3-43.3-29-39.1-48.8 4.6-21.6 32.8-33.9 63.1-27.5 22.9 4.9 40.4 19.1 45.5 35.1a26.1 26.1 0 0 1 22.1-12.4h.2c-.8-3.2-1.2-6.5-1.2-9.9 0-20.1 14.8-36.7 34.1-39.6v-25.4c0-4.4 3.6-8 8-8s8 3.6 8 8v26.3c4.6 1.2 8.8 3.2 12.6 5.8l19.5-21.4c3-3.3 8-3.5 11.3-.5 3.3 3 3.5 8 .5 11.3l-20 22-.2.2a40 40 0 0 1-46.9 59.2c-.4 5.6-2.6 10.7-6 14.8l20 38.4H804v-.1c86.5-2.2 156-73 156-160.1 0-88.5-71.7-160.2-160.1-160.2zM338.2 737.2l-4.3 30h24.4l-5.9-41.5c-3.5 4.6-8.3 8.5-14.2 11.5zM797.5 305a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-65.7 61.3a24 24 0 1 0 48 0 24 24 0 1 0-48 0zM303.4 742.9l-11.6 24.3h26l3.5-24.7c-5.7.8-11.7 1-17.9.4z'));\nexports.AntDesignOutline = getIcon('ant-design', outline, getNode(newViewBox, 'M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9.1.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5.5L80.9 474.2a53.84 53.84 0 0 0 0 76.4L474.6 944a54.14 54.14 0 0 0 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6a48.7 48.7 0 0 0-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c.4-.4.9-.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0zM408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0zm536.2-38.6L821.9 353.5c-19-18.9-49.8-18.9-68.7.1a48.4 48.4 0 0 0 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7a48.4 48.4 0 0 0 0 68.6 48.7 48.7 0 0 0 68.7 0l121.8-121.7a53.93 53.93 0 0 0-.1-76.4z'));\nexports.ApartmentOutline = getIcon('apartment', outline, getNode(newViewBox, 'M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z'));\nexports.AreaChartOutline = getIcon('area-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z'));\nexports.ArrowLeftOutline = getIcon('arrow-left', outline, getNode(newViewBox, 'M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 0 0 0 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.ArrowRightOutline = getIcon('arrow-right', outline, getNode(newViewBox, 'M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 0 0 0-48.4z'));\nexports.ArrowUpOutline = getIcon('arrow-up', outline, getNode(newViewBox, 'M868 545.5L536.1 163a31.96 31.96 0 0 0-48.3 0L156 545.5a7.97 7.97 0 0 0 6 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z'));\nexports.ArrowsAltOutline = getIcon('arrows-alt', outline, getNode(newViewBox, 'M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L863.9 169a7.9 7.9 0 0 0-8.9-8.9zM416.6 562.3a8.03 8.03 0 0 0-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z'));\nexports.AuditOutline = getIcon('audit', outline, getNode(newViewBox, 'M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z'));\nexports.ArrowDownOutline = getIcon('arrow-down', outline, getNode(newViewBox, 'M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0 0 48.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z'));\nexports.BarChartOutline = getIcon('bar-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z'));\nexports.BarcodeOutline = getIcon('barcode', outline, getNode(newViewBox, 'M120 160H72c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm833 0h-48c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zM200 736h112c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm321 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm126 0h178c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H647c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-255 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-79 64H201c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm257 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm256 0H648c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-385 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.BarsOutline = getIcon('bars', outline, getNode(normalViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.BehanceOutline = getIcon('behance', outline, getNode(newViewBox, 'M634 294.3h199.5v48.4H634zM434.1 485.8c44.1-21.1 67.2-53.2 67.2-102.8 0-98.1-73-121.9-157.3-121.9H112v492.4h238.5c89.4 0 173.3-43 173.3-143 0-61.8-29.2-107.5-89.7-124.7zM220.2 345.1h101.5c39.1 0 74.2 10.9 74.2 56.3 0 41.8-27.3 58.6-66 58.6H220.2V345.1zm115.5 324.8H220.1V534.3H338c47.6 0 77.7 19.9 77.7 70.3 0 49.6-35.9 65.3-80 65.3zm575.8-89.5c0-105.5-61.7-193.4-173.3-193.4-108.5 0-182.3 81.7-182.3 188.8 0 111 69.9 187.2 182.3 187.2 85.1 0 140.2-38.3 166.7-120h-86.3c-9.4 30.5-47.6 46.5-77.3 46.5-57.4 0-87.4-33.6-87.4-90.7h256.9c.3-5.9.7-12.1.7-18.4zM653.9 537c3.1-46.9 34.4-76.2 81.2-76.2 49.2 0 73.8 28.9 78.1 76.2H653.9z'));\nexports.BgColorsOutline = getIcon('bg-colors', outline, getNode(newViewBox, 'M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 0 0-12.8 0l-48 48a9.11 9.11 0 0 0 0 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z'));\nexports.BlockOutline = getIcon('block', outline, getNode(newViewBox, 'M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z'));\nexports.BoldOutline = getIcon('bold', outline, getNode(newViewBox, 'M697.8 481.4c33.6-35 54.2-82.3 54.2-134.3v-10.2C752 229.3 663.9 142 555.3 142H259.4c-15.1 0-27.4 12.3-27.4 27.4v679.1c0 16.3 13.2 29.5 29.5 29.5h318.7c117 0 211.8-94.2 211.8-210.5v-11c0-73-37.4-137.3-94.2-175.1zM328 238h224.7c57.1 0 103.3 44.4 103.3 99.3v9.5c0 54.8-46.3 99.3-103.3 99.3H328V238zm366.6 429.4c0 62.9-51.7 113.9-115.5 113.9H328V542.7h251.1c63.8 0 115.5 51 115.5 113.9v10.8z'));\nexports.BorderHorizontalOutline = getIcon('border-horizontal', outline, getNode(newViewBox, 'M540 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderBottomOutline = getIcon('border-bottom', outline, getNode(newViewBox, 'M872 808H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-720-94h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-498h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm166 166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm222-72h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388 426h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderInnerOutline = getIcon('border-inner', outline, getNode(newViewBox, 'M872 476H548V144h-72v332H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v332h72V548h324c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-426h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 260h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderLeftOutline = getIcon('border-left', outline, getNode(newViewBox, 'M208 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM540 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOuterOutline = getIcon('border-outer', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM484 366h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM302 548h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm364 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-182 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 182h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderRightOutline = getIcon('border-right', outline, getNode(newViewBox, 'M872 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderTopOutline = getIcon('border-top', outline, getNode(newViewBox, 'M872 144H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332-498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderVerticleOutline = getIcon('border-verticle', outline, getNode(newViewBox, 'M872 476H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM152 382h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 642h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOutline = getIcon('border', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CheckOutline = getIcon('check', outline, getNode(newViewBox, 'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'));\nexports.BranchesOutline = getIcon('branches', outline, getNode(newViewBox, 'M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0 0 34.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm408-491a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.CiOutline = getIcon('ci', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'));\nexports.CloseOutline = getIcon('close', outline, getNode(newViewBox, 'M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'));\nexports.CloudDownloadOutline = getIcon('cloud-download', outline, getNode(newViewBox, 'M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CloudServerOutline = getIcon('cloud-server', outline, getNode(newViewBox, 'M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z', 'M424 748a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm0-178a32 32 0 1 0 64 0 32 32 0 1 0-64 0z', 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z'));\nexports.CloudSyncOutline = getIcon('cloud-sync', outline, getNode(newViewBox, 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z', 'M376.9 656.4c1.8-33.5 15.7-64.7 39.5-88.6 25.4-25.5 60-39.8 96-39.8 36.2 0 70.3 14.1 96 39.8 1.4 1.4 2.7 2.8 4.1 4.3l-25 19.6a8 8 0 0 0 3 14.1l98.2 24c5 1.2 9.9-2.6 9.9-7.7l.5-101.3c0-6.7-7.6-10.5-12.9-6.3L663 532.7c-36.6-42-90.4-68.6-150.5-68.6-107.4 0-195 85.1-199.4 191.7-.2 4.5 3.4 8.3 8 8.3H369c4.2-.1 7.7-3.4 7.9-7.7zM703 664h-47.9c-4.2 0-7.7 3.3-8 7.6-1.8 33.5-15.7 64.7-39.5 88.6-25.4 25.5-60 39.8-96 39.8-36.2 0-70.3-14.1-96-39.8-1.4-1.4-2.7-2.8-4.1-4.3l25-19.6a8 8 0 0 0-3-14.1l-98.2-24c-5-1.2-9.9 2.6-9.9 7.7l-.4 101.4c0 6.7 7.6 10.5 12.9 6.3l23.2-18.2c36.6 42 90.4 68.6 150.5 68.6 107.4 0 195-85.1 199.4-191.7.2-4.5-3.4-8.3-8-8.3z'));\nexports.CloudUploadOutline = getIcon('cloud-upload', outline, getNode(newViewBox, 'M518.3 459a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.ClusterOutline = getIcon('cluster', outline, getNode(newViewBox, 'M888 680h-54V540H546v-92h238c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h238v92H190v140h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8zM256 805.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zm288 0c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM288 384V216h448v168H288zm544 421.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM360 300a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CodeSandboxOutline = getIcon('code-sandbox', outline, getNode(newViewBox, 'M709.6 210l.4-.2h.2L512 96 313.9 209.8h-.2l.7.3L151.5 304v416L512 928l360.5-208V304l-162.9-94zM482.7 843.6L339.6 761V621.4L210 547.8V372.9l272.7 157.3v313.4zM238.2 321.5l134.7-77.8 138.9 79.7 139.1-79.9 135.2 78-273.9 158-274-158zM814 548.3l-128.8 73.1v139.1l-143.9 83V530.4L814 373.1v175.2z'));\nexports.CodepenOutline = getIcon('codepen', outline, getNode(newViewBox, 'M911.7 385.3l-.3-1.5c-.2-1-.3-1.9-.6-2.9-.2-.6-.4-1.1-.5-1.7-.3-.8-.5-1.7-.9-2.5-.2-.6-.5-1.1-.8-1.7-.4-.8-.8-1.5-1.2-2.3-.3-.5-.6-1.1-1-1.6-.8-1.2-1.7-2.4-2.6-3.6-.5-.6-1.1-1.3-1.7-1.9-.4-.5-.9-.9-1.4-1.3-.6-.6-1.3-1.1-1.9-1.6-.5-.4-1-.8-1.6-1.2-.2-.1-.4-.3-.6-.4L531.1 117.8a34.3 34.3 0 0 0-38.1 0L127.3 361.3c-.2.1-.4.3-.6.4-.5.4-1 .8-1.6 1.2-.7.5-1.3 1.1-1.9 1.6-.5.4-.9.9-1.4 1.3-.6.6-1.2 1.2-1.7 1.9-1 1.1-1.8 2.3-2.6 3.6-.3.5-.7 1-1 1.6-.4.7-.8 1.5-1.2 2.3-.3.5-.5 1.1-.8 1.7-.3.8-.6 1.7-.9 2.5-.2.6-.4 1.1-.5 1.7-.2.9-.4 1.9-.6 2.9l-.3 1.5c-.2 1.5-.3 3-.3 4.5v243.5c0 1.5.1 3 .3 4.5l.3 1.5.6 2.9c.2.6.3 1.1.5 1.7.3.9.6 1.7.9 2.5.2.6.5 1.1.8 1.7.4.8.7 1.5 1.2 2.3.3.5.6 1.1 1 1.6.5.7.9 1.4 1.5 2.1l1.2 1.5c.5.6 1.1 1.3 1.7 1.9.4.5.9.9 1.4 1.3.6.6 1.3 1.1 1.9 1.6.5.4 1 .8 1.6 1.2.2.1.4.3.6.4L493 905.7c5.6 3.8 12.3 5.8 19.1 5.8 6.6 0 13.3-1.9 19.1-5.8l365.6-243.5c.2-.1.4-.3.6-.4.5-.4 1-.8 1.6-1.2.7-.5 1.3-1.1 1.9-1.6.5-.4.9-.9 1.4-1.3.6-.6 1.2-1.2 1.7-1.9l1.2-1.5 1.5-2.1c.3-.5.7-1 1-1.6.4-.8.8-1.5 1.2-2.3.3-.5.5-1.1.8-1.7.3-.8.6-1.7.9-2.5.2-.5.4-1.1.5-1.7.3-.9.4-1.9.6-2.9l.3-1.5c.2-1.5.3-3 .3-4.5V389.8c-.3-1.5-.4-3-.6-4.5zM546.4 210.5l269.4 179.4-120.3 80.4-149-99.6V210.5zm-68.8 0v160.2l-149 99.6-120.3-80.4 269.3-179.4zM180.7 454.1l86 57.5-86 57.5v-115zm296.9 358.5L208.3 633.2l120.3-80.4 149 99.6v160.2zM512 592.8l-121.6-81.2L512 430.3l121.6 81.2L512 592.8zm34.4 219.8V652.4l149-99.6 120.3 80.4-269.3 179.4zM843.3 569l-86-57.5 86-57.5v115z'));\nexports.CoffeeOutline = getIcon('coffee', outline, getNode(normalViewBox, 'M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z'));\nexports.ColumHeightOutline = getIcon('colum-height', outline, getNode(newViewBox, 'M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z'));\nexports.ColumnWidthOutline = getIcon('column-width', outline, getNode(newViewBox, 'M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z'));\nexports.CopyrightOutline = getIcon('copyright', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'));\nexports.DashOutline = getIcon('dash', outline, getNode(newViewBox, 'M112 476h160v72H112zm320 0h160v72H432zm320 0h160v72H752z'));\nexports.DeploymentUnitOutline = getIcon('deployment-unit', outline, getNode(newViewBox, 'M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 0 1-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0 1 65.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z'));\nexports.DesktopOutline = getIcon('desktop', outline, getNode(newViewBox, 'M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z'));\nexports.DingdingOutline = getIcon('dingding', outline, getNode(newViewBox, 'M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z'));\nexports.DisconnectOutline = getIcon('disconnect', outline, getNode(newViewBox, 'M832.6 191.4c-84.6-84.6-221.5-84.6-306 0l-96.9 96.9 51 51 96.9-96.9c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204l-96.9 96.9 51.1 51.1 96.9-96.9c84.4-84.6 84.4-221.5-.1-306.1zM446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l96.9-96.9-51.1-51.1-96.9 96.9c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l96.9-96.9-51-51-96.8 97zM260.3 209.4a8.03 8.03 0 0 0-11.3 0L209.4 249a8.03 8.03 0 0 0 0 11.3l554.4 554.4c3.1 3.1 8.2 3.1 11.3 0l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3L260.3 209.4z'));\nexports.DollarOutline = getIcon('dollar', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'));\nexports.DotChartOutline = getIcon('dot-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm118-224a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm158 228a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm148-314a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.DoubleLeftOutline = getIcon('double-left', outline, getNode(newViewBox, 'M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z'));\nexports.DoubleRightOutline = getIcon('double-right', outline, getNode(newViewBox, 'M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 0 0 188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 0 0 492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z'));\nexports.DownOutline = getIcon('down', outline, getNode(newViewBox, 'M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z'));\nexports.DownloadOutline = getIcon('download', outline, getNode(newViewBox, 'M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.DragOutline = getIcon('drag', outline, getNode(newViewBox, 'M909.3 506.3L781.7 405.6a7.23 7.23 0 0 0-11.7 5.7V476H548V254h64.8c6 0 9.4-7 5.7-11.7L517.7 114.7a7.14 7.14 0 0 0-11.3 0L405.6 242.3a7.23 7.23 0 0 0 5.7 11.7H476v222H254v-64.8c0-6-7-9.4-11.7-5.7L114.7 506.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h222v222h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V548h222v64.8c0 6 7 9.4 11.7 5.7l127.5-100.8a7.3 7.3 0 0 0 .1-11.4z'));\nexports.DribbbleOutline = getIcon('dribbble', outline, getNode(newViewBox, 'M512 96C282.6 96 96 282.6 96 512s186.6 416 416 416 416-186.6 416-416S741.4 96 512 96zm275.1 191.8c49.5 60.5 79.5 137.5 80.2 221.4-11.7-2.5-129.2-26.3-247.4-11.4-2.5-6.1-5-12.2-7.6-18.3-7.4-17.3-15.3-34.6-23.6-51.5C720 374.3 779.6 298 787.1 287.8zM512 157.2c90.3 0 172.8 33.9 235.5 89.5-6.4 9.1-59.9 81-186.2 128.4-58.2-107-122.7-194.8-132.6-208 27.3-6.6 55.2-9.9 83.3-9.9zM360.9 191c9.4 12.8 72.9 100.9 131.7 205.5C326.4 440.6 180 440 164.1 439.8c23.1-110.3 97.4-201.9 196.8-248.8zM156.7 512.5c0-3.6.1-7.3.2-10.9 15.5.3 187.7 2.5 365.2-50.6 10.2 19.9 19.9 40.1 28.8 60.3-4.7 1.3-9.4 2.7-14 4.2C353.6 574.9 256.1 736.4 248 750.1c-56.7-63-91.3-146.3-91.3-237.6zM512 867.8c-82.2 0-157.9-28-218.1-75 6.4-13.1 78.3-152 278.7-221.9l2.3-.8c49.9 129.6 70.5 238.3 75.8 269.5A350.46 350.46 0 0 1 512 867.8zm198.5-60.7c-3.6-21.6-22.5-125.6-69-253.3C752.9 536 850.7 565.2 862.8 569c-15.8 98.8-72.5 184.2-152.3 238.1z'));\nexports.DropboxOutline = getIcon('dropbox', outline, getNode(newViewBox, 'M64 556.9l264.2 173.5L512.5 577 246.8 412.7zm896-290.3zm0 0L696.8 95 512.5 248.5l265.2 164.2L512.5 577l184.3 153.4L960 558.8 777.7 412.7zM513 609.8L328.2 763.3l-79.4-51.5v57.8L513 928l263.7-158.4v-57.8l-78.9 51.5zM328.2 95L64 265.1l182.8 147.6 265.7-164.2zM64 556.9z'));\nexports.EllipsisOutline = getIcon('ellipsis', outline, getNode(newViewBox, 'M176 511a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.EnterOutline = getIcon('enter', outline, getNode(newViewBox, 'M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z'));\nexports.EuroOutline = getIcon('euro', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z'));\nexports.ExceptionOutline = getIcon('exception', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM640 812a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm12-64h40c4.4 0 8-3.6 8-8V628c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ExclamationOutline = getIcon('exclamation', outline, getNode(newViewBox, 'M448 804a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm32-168h64c4.4 0 8-3.6 8-8V164c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.ExportOutline = getIcon('export', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zm18.6-251.7L765 393.7c-5.3-4.2-13-.4-13 6.3v76H438c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.FallOutline = getIcon('fall', outline, getNode(newViewBox, 'M925.9 804l-24-199.2c-.8-6.6-8.9-9.4-13.6-4.7L829 659.5 557.7 388.3c-6.3-6.2-16.4-6.2-22.6 0L433.3 490 156.6 213.3a8.03 8.03 0 0 0-11.3 0l-45 45.2a8.03 8.03 0 0 0 0 11.3L422 591.7c6.2 6.3 16.4 6.3 22.6 0L546.4 490l226.1 226-59.3 59.3a8.01 8.01 0 0 0 4.7 13.6l199.2 24c5.1.7 9.5-3.7 8.8-8.9z'));\nexports.FileDoneOutline = getIcon('file-done', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 0 0-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.FileJpgOutline = getIcon('file-jpg', outline, getNode(normalViewBox, 'M874.6 301.8L596.8 21.3c-4.5-4.5-9.4-8.3-14.7-11.5-1.4-.8-2.8-1.6-4.3-2.3-.9-.5-1.9-.9-2.8-1.3-9-4-18.9-6.2-29-6.2H201c-39.8 0-73 32.2-73 72v880c0 39.8 33.2 72 73 72h623c39.8 0 71-32.2 71-72V352.5c0-19-7-37.2-20.4-50.7zM583 110.4L783.8 312H583V110.4zM823 952H200V72h311v240c0 39.8 33.2 72 73 72h239v568zM350 696.5c0 24.2-7.5 31.4-21.9 31.4-9 0-18.4-5.8-24.8-18.5L272.9 732c13.4 22.9 32.3 34.2 61.3 34.2 41.6 0 60.8-29.9 60.8-66.2V577h-45v119.5zM501.3 577H437v186h44v-62h21.6c39.1 0 73.1-19.6 73.1-63.6 0-45.8-33.5-60.4-74.4-60.4zm-.8 89H481v-53h18.2c21.5 0 33.4 6.2 33.4 24.9 0 18.1-10.5 28.1-32.1 28.1zm182.5-9v36h30v30.1c-4 2.9-11 4.7-17.7 4.7-34.3 0-50.7-21.4-50.7-58.2 0-36.1 19.7-57.4 47.1-57.4 15.3 0 25 6.2 34 14.4l23.7-28.3c-12.7-12.8-32.1-24.2-59.2-24.2-49.6 0-91.1 35.3-91.1 97 0 62.7 40 95.1 91.5 95.1 25.9 0 49.2-10.2 61.5-22.6V657H683z'));\nexports.FileProtectOutline = getIcon('file-protect', outline, getNode(newViewBox, 'M644.7 669.2a7.92 7.92 0 0 0-6.5-3.3H594c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.8-5.3 0-12.7-6.5-12.7h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-22.9-31.9zM688 306v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 458H208V148h560v296c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h312c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm402.6-320.8l-192-66.7c-.9-.3-1.7-.4-2.6-.4s-1.8.1-2.6.4l-192 66.7a7.96 7.96 0 0 0-5.4 7.5v251.1c0 2.5 1.1 4.8 3.1 6.3l192 150.2c1.4 1.1 3.2 1.7 4.9 1.7s3.5-.6 4.9-1.7l192-150.2c1.9-1.5 3.1-3.8 3.1-6.3V538.7c0-3.4-2.2-6.4-5.4-7.5zM826 763.7L688 871.6 550 763.7V577l138-48 138 48v186.7z'));\nexports.FileSearchOutline = getIcon('file-search', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm144 452H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm445.7 51.5l-93.3-93.3C814.7 780.7 828 743.9 828 704c0-97.2-78.8-176-176-176s-176 78.8-176 176 78.8 176 176 176c35.8 0 69-10.7 96.8-29l94.7 94.7c1.6 1.6 3.6 2.3 5.6 2.3s4.1-.8 5.6-2.3l31-31a7.9 7.9 0 0 0 0-11.2zM652 816c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FileSyncOutline = getIcon('file-sync', outline, getNode(newViewBox, 'M296 256c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm192 200v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8zm-48 396H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm104.1-115.6c1.8-34.5 16.2-66.8 40.8-91.4 26.2-26.2 62-41 99.1-41 37.4 0 72.6 14.6 99.1 41 3.2 3.2 6.3 6.6 9.2 10.1L769.2 673a8 8 0 0 0 3 14.1l93.3 22.5c5 1.2 9.8-2.6 9.9-7.7l.6-95.4a8 8 0 0 0-12.9-6.4l-20.3 15.8C805.4 569.6 748.1 540 684 540c-109.9 0-199.6 86.9-204 195.7-.2 4.5 3.5 8.3 8 8.3h48.1c4.3 0 7.8-3.3 8-7.6zM880 744h-48.1c-4.3 0-7.8 3.3-8 7.6-1.8 34.5-16.2 66.8-40.8 91.4-26.2 26.2-62 41-99.1 41-37.4 0-72.6-14.6-99.1-41-3.2-3.2-6.3-6.6-9.2-10.1l23.1-17.9a8 8 0 0 0-3-14.1l-93.3-22.5c-5-1.2-9.8 2.6-9.9 7.7l-.6 95.4a8 8 0 0 0 12.9 6.4l20.3-15.8C562.6 918.4 619.9 948 684 948c109.9 0 199.6-86.9 204-195.7.2-4.5-3.5-8.3-8-8.3z'));\nexports.FontColorsOutline = getIcon('font-colors', outline, getNode(newViewBox, 'M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-650.3-80h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-.2 3.2-.5a9.7 9.7 0 0 0 6-12.4L573.6 118.6a9.9 9.9 0 0 0-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-.4 1-.5 2.1-.5 3.2-.1 5.3 4.3 9.7 9.7 9.7zm255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z'));\nexports.FontSizeOutline = getIcon('font-size', outline, getNode(newViewBox, 'M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z'));\nexports.ForkOutline = getIcon('fork', outline, getNode(newViewBox, 'M752 100c-61.8 0-112 50.2-112 112 0 47.7 29.9 88.5 72 104.6v27.6L512 601.4 312 344.2v-27.6c42.1-16.1 72-56.9 72-104.6 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 50.6 33.8 93.5 80 107.3v34.4c0 9.7 3.3 19.3 9.3 27L476 672.3v33.6c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-33.6l226.7-291.6c6-7.7 9.3-17.3 9.3-27v-34.4c46.2-13.8 80-56.7 80-107.3 0-61.8-50.2-112-112-112zM224 212a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm336 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm192-552a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FormOutline = getIcon('form', outline, getNode(newViewBox, 'M904 512h-56c-4.4 0-8 3.6-8 8v320H184V184h320c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V520c0-4.4-3.6-8-8-8z', 'M355.9 534.9L354 653.8c-.1 8.9 7.1 16.2 16 16.2h.4l118-2.9c2-.1 4-.9 5.4-2.3l415.9-415c3.1-3.1 3.1-8.2 0-11.3L785.4 114.3c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-415.8 415a8.3 8.3 0 0 0-2.3 5.6zm63.5 23.6L779.7 199l45.2 45.1-360.5 359.7-45.7 1.1.7-46.4z'));\nexports.FullscreenExitOutline = getIcon('fullscreen-exit', outline, getNode(newViewBox, 'M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 0 0 0 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 0 0 391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 0 0-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z'));\nexports.FullscreenOutline = getIcon('fullscreen', outline, getNode(newViewBox, 'M290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z'));\nexports.GatewayOutline = getIcon('gateway', outline, getNode(newViewBox, 'M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z'));\nexports.GlobalOutline = getIcon('global', outline, getNode(newViewBox, 'M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0 0 10-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 0 0 3.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 0 0-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 0 1 887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 0 1-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 0 1 115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 0 1 540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 0 0 540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 0 1-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 0 0-81.5 55.9A373.86 373.86 0 0 1 137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 0 1-107.6 69.2z'));\nexports.GoldOutline = getIcon('gold', outline, getNode(newViewBox, 'M342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128zm2.5 282.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5z'));\nexports.GooglePlusOutline = getIcon('google-plus', outline, getNode(newViewBox, 'M879.5 470.4c-.3-27-.4-54.2-.5-81.3h-80.8c-.3 27-.5 54.1-.7 81.3-27.2.1-54.2.3-81.2.6v80.9c27 .3 54.2.5 81.2.8.3 27 .3 54.1.5 81.1h80.9c.1-27 .3-54.1.5-81.3 27.2-.3 54.2-.4 81.2-.7v-80.9c-26.9-.2-54.1-.2-81.1-.5zm-530 .4c-.1 32.3 0 64.7.1 97 54.2 1.8 108.5 1 162.7 1.8-23.9 120.3-187.4 159.3-273.9 80.7-89-68.9-84.8-220 7.7-284 64.7-51.6 156.6-38.9 221.3 5.8 25.4-23.5 49.2-48.7 72.1-74.7-53.8-42.9-119.8-73.5-190-70.3-146.6-4.9-281.3 123.5-283.7 270.2-9.4 119.9 69.4 237.4 180.6 279.8 110.8 42.7 252.9 13.6 323.7-86 46.7-62.9 56.8-143.9 51.3-220-90.7-.7-181.3-.6-271.9-.3z'));\nexports.GoogleOutline = getIcon('google', outline, getNode(newViewBox, 'M881 442.4H519.7v148.5h206.4c-8.9 48-35.9 88.6-76.6 115.8-34.4 23-78.3 36.6-129.9 36.6-99.9 0-184.4-67.5-214.6-158.2-7.6-23-12-47.6-12-72.9s4.4-49.9 12-72.9c30.3-90.6 114.8-158.1 214.7-158.1 56.3 0 106.8 19.4 146.6 57.4l110-110.1c-66.5-62-153.2-100-256.6-100-149.9 0-279.6 86-342.7 211.4-26 51.8-40.8 110.4-40.8 172.4S151 632.8 177 684.6C240.1 810 369.8 896 519.7 896c103.6 0 190.4-34.4 253.8-93 72.5-66.8 114.4-165.2 114.4-282.1 0-27.2-2.4-53.3-6.9-78.5z'));\nexports.HeatMapOutline = getIcon('heat-map', outline, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-790.4-23.9L512 231.9 858.7 832H165.3zm319-474.1l-228 394c-12.3 21.3 3.1 48 27.7 48h455.8c24.7 0 40.1-26.7 27.7-48L539.7 358c-6.2-10.7-17-16-27.7-16-10.8 0-21.6 5.3-27.7 16zm214 386H325.7L512 422l186.3 322zm-214-194.1l-57 98.4C415 669.5 430.4 696 455 696h114c24.6 0 39.9-26.5 27.7-47.7l-57-98.4c-6.1-10.6-16.9-15.9-27.7-15.9s-21.5 5.3-27.7 15.9zm57.1 98.4h-58.7l29.4-50.7 29.3 50.7z'));\nexports.IeOutline = getIcon('ie', outline, getNode(newViewBox, 'M852.6 367.6c16.3-36.9 32.1-90.7 32.1-131.8 0-109.1-119.5-147.6-314.5-57.9-161.4-10.8-316.8 110.5-355.6 279.7 46.3-52.3 117.4-123.4 183-151.7C316.1 378.3 246.7 470 194 565.6c-31.1 56.9-66 148.8-66 217.5 0 147.9 139.3 129.8 270.4 63 47.1 23.1 99.8 23.4 152.5 23.4 145.7 0 276.4-81.4 325.2-219H694.9c-78.8 132.9-295.2 79.5-295.2-71.2h493.2c9.6-65.4-2.5-143.6-40.3-211.7zM224.8 648.3c26.6 76.7 80.6 143.8 150.4 185-133.1 73.4-259.9 43.6-150.4-185zm174-163.3c3-82.7 75.4-142.3 156-142.3 80.1 0 153 59.6 156 142.3h-312zm276.8-281.4c32.1-15.4 72.8-33 108.8-33 47.1 0 81.4 32.6 81.4 80.6 0 30-11.1 73.5-21.9 101.8-39.3-63.5-98.9-122.4-168.3-149.4z'));\nexports.ImportOutline = getIcon('import', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.InboxOutline = getIcon('inbox', outline, getNode(normalViewBox, 'M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0 0 60.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z'));\nexports.InfoOutline = getIcon('info', outline, getNode(newViewBox, 'M448 224a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z'));\nexports.IssuesCloseOutline = getIcon('issues-close', outline, getNode(newViewBox, 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72-112c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48zm400-188h-59.3c-2.6 0-5 1.2-6.5 3.3L763.7 538.1l-49.9-68.8a7.92 7.92 0 0 0-6.5-3.3H648c-6.5 0-10.3 7.4-6.5 12.7l109.2 150.7a16.1 16.1 0 0 0 26 0l165.8-228.7c3.8-5.3 0-12.7-6.5-12.7zm-44 306h-64.2c-5.5 0-10.6 2.9-13.6 7.5a352.2 352.2 0 0 1-49.8 62.2A355.92 355.92 0 0 1 651.1 840a355 355 0 0 1-138.7 27.9c-48.1 0-94.8-9.4-138.7-27.9a355.92 355.92 0 0 1-113.3-76.3A353.06 353.06 0 0 1 184 650.5c-18.6-43.8-28-90.5-28-138.5s9.4-94.7 28-138.5c17.9-42.4 43.6-80.5 76.4-113.2 32.8-32.7 70.9-58.4 113.3-76.3a355 355 0 0 1 138.7-27.9c48.1 0 94.8 9.4 138.7 27.9 42.4 17.9 80.5 43.6 113.3 76.3 19 19 35.6 39.8 49.8 62.2 2.9 4.7 8.1 7.5 13.6 7.5H892c6 0 9.8-6.3 7.2-11.6C828.8 178.5 684.7 82 517.7 80 278.9 77.2 80.5 272.5 80 511.2 79.5 750.1 273.3 944 512.4 944c169.2 0 315.6-97 386.7-238.4A8 8 0 0 0 892 694z'));\nexports.ItalicOutline = getIcon('italic', outline, getNode(newViewBox, 'M798 160H366c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h181.2l-156 544H229c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8H474.4l156-544H798c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.KeyOutline = getIcon('key', outline, getNode(newViewBox, 'M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 0 0 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z'));\nexports.LaptopOutline = getIcon('laptop', outline, getNode(newViewBox, 'M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z'));\nexports.LeftOutline = getIcon('left', outline, getNode(newViewBox, 'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'));\nexports.LineChartOutline = getIcon('line-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z'));\nexports.LineHeightOutline = getIcon('line-height', outline, getNode(newViewBox, 'M648 160H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm272.8 546H856V318h64.8c6 0 9.4-7 5.7-11.7L825.7 178.7a7.14 7.14 0 0 0-11.3 0L713.6 306.3a7.23 7.23 0 0 0 5.7 11.7H784v388h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5a7.2 7.2 0 0 0-5.6-11.7z'));\nexports.LineOutline = getIcon('line', outline, getNode(newViewBox, 'M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.LinkOutline = getIcon('link', outline, getNode(newViewBox, 'M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z'));\nexports.Loading3QuartersOutline = getIcon('loading-3-quarters', outline, getNode(normalViewBox, 'M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z'));\nexports.LoadingOutline = getIcon('loading', outline, getNode(normalViewBox, 'M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z'));\nexports.LoginOutline = getIcon('login', outline, getNode(newViewBox, 'M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z'));\nexports.LogoutOutline = getIcon('logout', outline, getNode(newViewBox, 'M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 0 1-112.7-75.9 353.28 353.28 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.ManOutline = getIcon('man', outline, getNode(newViewBox, 'M874 120H622c-3.3 0-6 2.7-6 6v56c0 3.3 2.7 6 6 6h160.4L583.1 387.3c-50-38.5-111-59.3-175.1-59.3-76.9 0-149.3 30-203.6 84.4S120 539.1 120 616s30 149.3 84.4 203.6C258.7 874 331.1 904 408 904s149.3-30 203.6-84.4C666 765.3 696 692.9 696 616c0-64.1-20.8-124.9-59.2-174.9L836 241.9V402c0 3.3 2.7 6 6 6h56c3.3 0 6-2.7 6-6V150c0-16.5-13.5-30-30-30zM408 828c-116.9 0-212-95.1-212-212s95.1-212 212-212 212 95.1 212 212-95.1 212-212 212z'));\nexports.MediumWorkmarkOutline = getIcon('medium-workmark', outline, getNode(normalViewBox, 'M517.2 590.55c0 3.55 0 4.36 2.4 6.55l13.43 13.25v.57h-59.57v-25.47a41.44 41.44 0 0 1-39.5 27.65c-30.61 0-52.84-24.25-52.84-68.87 0-41.8 23.99-69.69 57.65-69.69a35.15 35.15 0 0 1 34.61 21.67v-56.19a6.99 6.99 0 0 0-2.71-6.79l-12.8-12.45v-.56l59.33-7.04v177.37zm-43.74-8.09v-83.83a22.2 22.2 0 0 0-17.74-8.4c-14.48 0-28.47 13.25-28.47 52.62 0 36.86 12.07 49.88 27.1 49.88a23.91 23.91 0 0 0 19.11-10.27zm83.23 28.46V497.74a7.65 7.65 0 0 0-2.4-6.79l-13.19-13.74v-.57h59.56v114.8c0 3.55 0 4.36 2.4 6.54l13.12 12.45v.57l-59.49-.08zm-2.16-175.67c0-13.4 10.74-24.25 23.99-24.25 13.25 0 23.98 10.86 23.98 24.25 0 13.4-10.73 24.25-23.98 24.25s-23.99-10.85-23.99-24.25zm206.83 155.06c0 3.55 0 4.6 2.4 6.79l13.43 13.25v.57h-59.88V581.9a43.4 43.4 0 0 1-41.01 31.2c-26.55 0-40.78-19.56-40.78-56.59 0-17.86 0-37.43.56-59.41a6.91 6.91 0 0 0-2.4-6.55L620.5 477.2v-.57h59.09v73.81c0 24.25 3.51 40.42 18.54 40.42a23.96 23.96 0 0 0 19.35-12.2v-80.85a7.65 7.65 0 0 0-2.4-6.79l-13.27-13.82v-.57h59.56V590.3zm202.76 20.6c0-4.36.8-59.97.8-72.75 0-24.25-3.76-40.98-20.63-40.98a26.7 26.7 0 0 0-21.19 11.64 99.68 99.68 0 0 1 2.4 23.04c0 16.81-.56 38.23-.8 59.66a6.91 6.91 0 0 0 2.4 6.55l13.43 12.45v.56h-60.12c0-4.04.8-59.98.8-72.76 0-24.65-3.76-40.98-20.39-40.98-8.2.3-15.68 4.8-19.83 11.96v82.46c0 3.56 0 4.37 2.4 6.55l13.11 12.45v.56h-59.48V498.15a7.65 7.65 0 0 0-2.4-6.8l-13.19-14.14v-.57H841v28.78c5.53-19 23.13-31.76 42.7-30.96 19.82 0 33.26 11.16 38.93 32.34a46.41 46.41 0 0 1 44.77-32.34c26.55 0 41.58 19.8 41.58 57.23 0 17.87-.56 38.24-.8 59.66a6.5 6.5 0 0 0 2.72 6.55l13.11 12.45v.57h-59.88zM215.87 593.3l17.66 17.05v.57h-89.62v-.57l17.99-17.05a6.91 6.91 0 0 0 2.4-6.55V477.69c0-4.6 0-10.83.8-16.16L104.66 613.1h-.72l-62.6-139.45c-1.37-3.47-1.77-3.72-2.65-6.06v91.43a32.08 32.08 0 0 0 2.96 17.87l25.19 33.46v.57H0v-.57l25.18-33.55a32.16 32.16 0 0 0 2.96-17.78V457.97A19.71 19.71 0 0 0 24 444.15L6.16 420.78v-.56h63.96l53.56 118.1 47.17-118.1h62.6v.56l-17.58 19.8a6.99 6.99 0 0 0-2.72 6.8v139.37a6.5 6.5 0 0 0 2.72 6.55zm70.11-54.65v.56c0 34.6 17.67 48.5 38.38 48.5a43.5 43.5 0 0 0 40.77-24.97h.56c-7.2 34.2-28.14 50.36-59.48 50.36-33.82 0-65.72-20.61-65.72-68.39 0-50.2 31.98-70.25 67.32-70.25 28.46 0 58.76 13.58 58.76 57.24v6.95h-80.59zm0-6.95h39.42v-7.04c0-35.57-7.28-45.03-18.23-45.03-13.27 0-21.35 14.15-21.35 52.07h.16z'));\nexports.MediumOutline = getIcon('medium', outline, getNode(newViewBox, 'M834.7 279.8l61.3-58.9V208H683.7L532.4 586.4 360.3 208H137.7v12.9l71.6 86.6c7 6.4 10.6 15.8 9.7 25.2V673c2.2 12.3-1.7 24.8-10.3 33.7L128 805v12.7h228.6v-12.9l-80.6-98a39.99 39.99 0 0 1-11.1-33.7V378.7l200.7 439.2h23.3l172.6-439.2v349.9c0 9.2 0 11.1-6 17.2l-62.1 60.3V819h301.2v-12.9l-59.9-58.9c-5.2-4-7.9-10.7-6.8-17.2V297a18.1 18.1 0 0 1 6.8-17.2z'));\nexports.MenuFoldOutline = getIcon('menu-fold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z'));\nexports.MenuUnfoldOutline = getIcon('menu-unfold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z'));\nexports.MenuOutline = getIcon('menu', outline, getNode(newViewBox, 'M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.MinusOutline = getIcon('minus', outline, getNode(newViewBox, 'M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.MonitorOutline = getIcon('monitor', outline, getNode(newViewBox, 'M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 0 0-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 0 0-11.2-1.4l-37.9 29.7a7.97 7.97 0 0 0-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z'));\nexports.MoreOutline = getIcon('more', outline, getNode(newViewBox, 'M456 231a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.MrOutline = getIcon('mr', outline, getNode(newViewBox, 'M788 705.9V192c0-8.8-7.2-16-16-16H602v-68.8c0-6-7-9.4-11.7-5.7L462.7 202.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V240h114v465.9c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c.1-49.2-31.7-91-75.9-106.1zM752 860a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zM384 212c0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1V318.1c44.2-15.1 76-56.9 76-106.1zm-160 0a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0z'));\nexports.NumberOutline = getIcon('number', outline, getNode(newViewBox, 'M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z'));\nexports.OrderedListOutline = getIcon('ordered-list', outline, getNode(newViewBox, 'M920 760H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-568H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM216 712H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h72.4v20.5h-35.7c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h35.7V838H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4V716c0-2.2-1.8-4-4-4zM100 188h38v120c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V152c0-4.4-3.6-8-8-8h-78c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4zm116 240H100c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h68.4l-70.3 77.7a8.3 8.3 0 0 0-2.1 5.4V592c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4v-36c0-2.2-1.8-4-4-4h-68.4l70.3-77.7a8.3 8.3 0 0 0 2.1-5.4V432c0-2.2-1.8-4-4-4z'));\nexports.PaperClipOutline = getIcon('paper-clip', outline, getNode(newViewBox, 'M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 0 0 174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z'));\nexports.PauseOutline = getIcon('pause', outline, getNode(newViewBox, 'M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z'));\nexports.PercentageOutline = getIcon('percentage', outline, getNode(newViewBox, 'M855.7 210.8l-42.4-42.4a8.03 8.03 0 0 0-11.3 0L168.3 801.9a8.03 8.03 0 0 0 0 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0L855.6 222c3.2-3 3.2-8.1.1-11.2zM304 448c79.4 0 144-64.6 144-144s-64.6-144-144-144-144 64.6-144 144 64.6 144 144 144zm0-216c39.7 0 72 32.3 72 72s-32.3 72-72 72-72-32.3-72-72 32.3-72 72-72zm416 344c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144-64.6-144-144-144zm0 216c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z'));\nexports.PicCenterOutline = getIcon('pic-center', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z'));\nexports.PicLeftOutline = getIcon('pic-left', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM608 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM152 436h400v152H152V436zm552 210c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PicRightOutline = getIcon('pic-right', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-24 500c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM472 436h400v152H472V436zM80 646c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PlusOutline = getIcon('plus', outline, getNode(newViewBox, 'M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z', 'M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z'));\nexports.PoundOutline = getIcon('pound', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'));\nexports.PoweroffOutline = getIcon('poweroff', outline, getNode(newViewBox, 'M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.QqOutline = getIcon('qq', outline, getNode(newViewBox, 'M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z'));\nexports.QrcodeOutline = getIcon('qrcode', outline, getNode(newViewBox, 'M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.QuestionOutline = getIcon('question', outline, getNode(newViewBox, 'M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 0 0-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z'));\nexports.RadarChartOutline = getIcon('radar-chart', outline, getNode(newViewBox, 'M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z'));\nexports.RadiusBottomleftOutline = getIcon('radius-bottomleft', outline, getNode(newViewBox, 'M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusBottomrightOutline = getIcon('radius-bottomright', outline, getNode(newViewBox, 'M368 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-58-624h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm578 102h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm292 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm174 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 276h-56c-4.4 0-8 3.6-8 8v182c0 87.3-70.7 158-158 158H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c127 0 230-103 230-230V484c0-4.4-3.6-8-8-8z'));\nexports.RadiusSettingOutline = getIcon('radius-setting', outline, getNode(newViewBox, 'M396 140h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-44 684h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm524-204h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 344h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm320 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm160 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm140-284c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V370c0-127-103-230-230-230H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h170c87.3 0 158 70.7 158 158v170zM236 96H92c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V104c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2zM920 780H776c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V788c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2z'));\nexports.RadiusUpleftOutline = getIcon('radius-upleft', outline, getNode(newViewBox, 'M656 200h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm58 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 650h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm696-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174-696H358c-127 0-230 103-230 230v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-87.3 70.7-158 158-158h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusUprightOutline = getIcon('radius-upright', outline, getNode(newViewBox, 'M368 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-2 696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm522-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-48-696H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c87.3 0 158 70.7 158 158v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-127-103-230-230-230z'));\nexports.RedditOutline = getIcon('reddit', outline, getNode(newViewBox, 'M288 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 1 0-41.2-52.2zM960 456c0-61.9-50.1-112-112-112-42.1 0-78.7 23.2-97.9 57.6-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1 46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 0 0-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 0 0 176 344c-61.9 0-112 50.1-112 112 0 45.8 27.5 85.1 66.8 102.5-7.1 21-10.8 43-10.8 65.5 0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 1 1 0 63 31.5 31.5 0 0 1 0-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0 1 50.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 0 1-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5 837.5 506.1 837.5 624 691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9 9-18.9 28.3-32.1 50.6-32.1 30.9 0 56 25.1 56 56 .1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.RedoOutline = getIcon('redo', outline, getNode(newViewBox, 'M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 0 0-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z'));\nexports.ReloadTimeOutline = getIcon('reload-time', outline, getNode(newViewBox, 'M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1zm167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9 352.18 352.18 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z'));\nexports.ReloadOutline = getIcon('reload', outline, getNode(newViewBox, 'M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 0 1 655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 0 1 279 755.2a342.16 342.16 0 0 1-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 0 1 109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z'));\nexports.RetweetOutline = getIcon('retweet', outline, getNode(normalViewBox, 'M136 552h63.6c4.4 0 8-3.6 8-8V288.7h528.6v72.6c0 1.9.6 3.7 1.8 5.2a8.3 8.3 0 0 0 11.7 1.4L893 255.4c4.3-5 3.6-10.3 0-13.2L749.7 129.8a8.22 8.22 0 0 0-5.2-1.8c-4.6 0-8.4 3.8-8.4 8.4V209H199.7c-39.5 0-71.7 32.2-71.7 71.8V544c0 4.4 3.6 8 8 8zm752-80h-63.6c-4.4 0-8 3.6-8 8v255.3H287.8v-72.6c0-1.9-.6-3.7-1.8-5.2a8.3 8.3 0 0 0-11.7-1.4L131 768.6c-4.3 5-3.6 10.3 0 13.2l143.3 112.4c1.5 1.2 3.3 1.8 5.2 1.8 4.6 0 8.4-3.8 8.4-8.4V815h536.6c39.5 0 71.7-32.2 71.7-71.8V480c-.2-4.4-3.8-8-8.2-8z'));\nexports.RightOutline = getIcon('right', outline, getNode(newViewBox, 'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'));\nexports.RiseOutline = getIcon('rise', outline, getNode(newViewBox, 'M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 0 0 0 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0 0 13.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z'));\nexports.RobotOutline = getIcon('robot', outline, getNode(newViewBox, 'M300 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.RollbackOutline = getIcon('rollback', outline, getNode(newViewBox, 'M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 0 0 0 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z'));\nexports.SafetyOutline = getIcon('safety', outline, getNode(normalViewBox, 'M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z', 'M378.4 475.1a35.91 35.91 0 0 0-50.9 0 35.91 35.91 0 0 0 0 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0 0 48.1 0L730.6 434a33.98 33.98 0 0 0 0-48.1l-2.8-2.8a33.98 33.98 0 0 0-48.1 0L483 579.7 378.4 475.1z'));\nexports.ScanOutline = getIcon('scan', outline, getNode(newViewBox, 'M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ScissorOutline = getIcon('scissor', outline, getNode(newViewBox, 'M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 0 0 288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'));\nexports.SearchOutline = getIcon('search', outline, getNode(newViewBox, 'M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z'));\nexports.SelectOutline = getIcon('select', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 0 0-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z'));\nexports.ShakeOutline = getIcon('shake', outline, getNode(newViewBox, 'M324 666a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm616.7-309.6L667.6 83.2C655.2 70.9 638.7 64 621.1 64s-34.1 6.8-46.5 19.2L83.3 574.5a65.85 65.85 0 0 0 0 93.1l273.2 273.2c12.3 12.3 28.9 19.2 46.5 19.2s34.1-6.8 46.5-19.2l491.3-491.3c25.6-25.7 25.6-67.5-.1-93.1zM403 880.1L143.9 621l477.2-477.2 259 259.2L403 880.1zM152.8 373.7a7.9 7.9 0 0 0 11.2 0L373.7 164a7.9 7.9 0 0 0 0-11.2l-38.4-38.4a7.9 7.9 0 0 0-11.2 0L114.3 323.9a7.9 7.9 0 0 0 0 11.2l38.5 38.6zm718.6 276.6a7.9 7.9 0 0 0-11.2 0L650.3 860.1a7.9 7.9 0 0 0 0 11.2l38.4 38.4a7.9 7.9 0 0 0 11.2 0L909.7 700a7.9 7.9 0 0 0 0-11.2l-38.3-38.5z'));\nexports.ShareAltOutline = getIcon('share-alt', outline, getNode(newViewBox, 'M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 0 0 0-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z'));\nexports.ShoppingCartOutline = getIcon('shopping-cart', outline, getNode(normalViewBox, 'M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 0 0-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 1 0 0 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 0 0-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 0 0-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6z'));\nexports.ShrinkOutline = getIcon('shrink', outline, getNode(newViewBox, 'M881.7 187.4l-45.1-45.1a8.03 8.03 0 0 0-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L447.9 585a7.9 7.9 0 0 0-8.9-8.9z'));\nexports.SketchOutline = getIcon('sketch', outline, getNode(newViewBox, 'M925.6 405.1l-203-253.7a6.5 6.5 0 0 0-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 0 0 .2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 0 0 .2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z'));\nexports.SlackOutline = getIcon('slack', outline, getNode(newViewBox, 'M409.4 128c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h76.7v-76.8c0-42.3-34.3-76.7-76.7-76.8zm0 204.8H204.7c-42.4 0-76.7 34.4-76.7 76.8s34.4 76.8 76.7 76.8h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.8-76.6-76.8zM614 486.4c42.4 0 76.8-34.4 76.7-76.8V204.8c0-42.4-34.3-76.8-76.7-76.8-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.5 34.3 76.8 76.7 76.8zm281.4-76.8c0-42.4-34.4-76.8-76.7-76.8S742 367.2 742 409.6v76.8h76.7c42.3 0 76.7-34.4 76.7-76.8zm-76.8 128H614c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM614 742.4h-76.7v76.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM409.4 537.6c-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8V614.4c0-20.3-8.1-39.9-22.4-54.3a76.92 76.92 0 0 0-54.3-22.5zM128 614.4c0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5c42.4 0 76.8-34.4 76.7-76.8v-76.8h-76.7c-42.3 0-76.7 34.4-76.7 76.8z'));\nexports.SolutionOutline = getIcon('solution', outline, getNode(newViewBox, 'M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'));\nexports.SmallDashOutline = getIcon('small-dash', outline, getNode(newViewBox, 'M112 476h72v72h-72zm182 0h72v72h-72zm364 0h72v72h-72zm182 0h72v72h-72zm-364 0h72v72h-72z'));\nexports.SortAscendingOutline = getIcon('sort-ascending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0 0 12.6 0l112-141.9c4.1-5.2.4-13-6.3-13z'));\nexports.SortDescendingOutline = getIcon('sort-descending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM310.3 167.1a8 8 0 0 0-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z'));\nexports.StockOutline = getIcon('stock', outline, getNode(newViewBox, 'M904 747H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM165.7 621.8l39.7 39.5c3.1 3.1 8.2 3.1 11.3 0l234.7-233.9 97.6 97.3a32.11 32.11 0 0 0 45.2 0l264.2-263.2c3.1-3.1 3.1-8.2 0-11.3l-39.7-39.6a8.03 8.03 0 0 0-11.3 0l-235.7 235-97.7-97.3a32.11 32.11 0 0 0-45.2 0L165.7 610.5a7.94 7.94 0 0 0 0 11.3z'));\nexports.StrikethroughOutline = getIcon('strikethrough', outline, getNode(newViewBox, 'M952 474H569.9c-10-2-20.5-4-31.6-6-15.9-2.9-22.2-4.1-30.8-5.8-51.3-10-82.2-20-106.8-34.2-35.1-20.5-52.2-48.3-52.2-85.1 0-37 15.2-67.7 44-89 28.4-21 68.8-32.1 116.8-32.1 54.8 0 97.1 14.4 125.8 42.8 14.6 14.4 25.3 32.1 31.8 52.6 1.3 4.1 2.8 10 4.3 17.8.9 4.8 5.2 8.2 9.9 8.2h72.8c5.6 0 10.1-4.6 10.1-10.1v-1c-.7-6.8-1.3-12.1-2-16-7.3-43.5-28-81.7-59.7-110.3-44.4-40.5-109.7-61.8-188.7-61.8-72.3 0-137.4 18.1-183.3 50.9-25.6 18.4-45.4 41.2-58.6 67.7-13.5 27.1-20.3 58.4-20.3 92.9 0 29.5 5.7 54.5 17.3 76.5 8.3 15.7 19.6 29.5 34.1 42H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h433.2c2.1.4 3.9.8 5.9 1.2 30.9 6.2 49.5 10.4 66.6 15.2 23 6.5 40.6 13.3 55.2 21.5 35.8 20.2 53.3 49.2 53.3 89 0 35.3-15.5 66.8-43.6 88.8-30.5 23.9-75.6 36.4-130.5 36.4-43.7 0-80.7-8.5-110.2-25-29.1-16.3-49.1-39.8-59.7-69.5-.8-2.2-1.7-5.2-2.7-9-1.2-4.4-5.3-7.5-9.7-7.5h-79.7c-5.6 0-10.1 4.6-10.1 10.1v1c.2 2.3.4 4.2.6 5.7 6.5 48.8 30.3 88.8 70.7 118.8 47.1 34.8 113.4 53.2 191.8 53.2 84.2 0 154.8-19.8 204.2-57.3 25-18.9 44.2-42.2 57.1-69 13-27.1 19.7-57.9 19.7-91.5 0-31.8-5.8-58.4-17.8-81.4-5.8-11.2-13.1-21.5-21.8-30.8H952c4.4 0 8-3.6 8-8v-60a8 8 0 0 0-8-7.9z'));\nexports.SwapLeftOutline = getIcon('swap-left', outline, getNode(normalViewBox, 'M872 572H266.8l144.3-183c4.1-5.2.4-13-6.3-13H340c-9.8 0-19.1 4.5-25.1 12.2l-164 208c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SwapRightOutline = getIcon('swap-right', outline, getNode(normalViewBox, 'M873.1 596.2l-164-208A32 32 0 0 0 684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z'));\nexports.SwapOutline = getIcon('swap', outline, getNode(newViewBox, 'M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SyncOutline = getIcon('sync', outline, getNode(newViewBox, 'M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 0 1 755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 0 1 512.1 856a342.24 342.24 0 0 1-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 0 0-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 0 0-8-8.2z'));\nexports.TableOutline = getIcon('table', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z'));\nexports.TaobaoOutline = getIcon('taobao', outline, getNode(newViewBox, 'M168.5 273.7a68.7 68.7 0 1 0 137.4 0 68.7 68.7 0 1 0-137.4 0zm730 79.2s-23.7-184.4-426.9-70.1c17.3-30 25.6-49.5 25.6-49.5L396.4 205s-40.6 132.6-113 194.4c0 0 70.1 40.6 69.4 39.4 20.1-20.1 38.2-40.6 53.7-60.4 16.1-7 31.5-13.6 46.7-19.8-18.6 33.5-48.7 83.8-78.8 115.6l42.4 37s28.8-27.7 60.4-61.2h36v61.8H372.9v49.5h140.3v118.5c-1.7 0-3.6 0-5.4-.2-15.4-.7-39.5-3.3-49-18.2-11.5-18.1-3-51.5-2.4-71.9h-97l-3.4 1.8s-35.5 159.1 102.3 155.5c129.1 3.6 203-36 238.6-63.1l14.2 52.6 79.6-33.2-53.9-131.9-64.6 20.1 12.1 45.2c-16.6 12.4-35.6 21.7-56.2 28.4V561.3h137.1v-49.5H628.1V450h137.6v-49.5H521.3c17.6-21.4 31.5-41.1 35-53.6l-42.5-11.6c182.8-65.5 284.5-54.2 283.6 53.2v282.8s10.8 97.1-100.4 90.1l-60.2-12.9-14.2 57.1S882.5 880 903.7 680.2c21.3-200-5.2-327.3-5.2-327.3zm-707.4 18.3l-45.4 69.7 83.6 52.1s56 28.5 29.4 81.9C233.8 625.5 112 736.3 112 736.3l109 68.1c75.4-163.7 70.5-142 89.5-200.7 19.5-60.1 23.7-105.9-9.4-139.1-42.4-42.6-47-46.6-110-93.4z'));\nexports.TeamOutline = getIcon('team', outline, getNode(newViewBox, 'M824.2 699.9a301.55 301.55 0 0 0-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 0 1 612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 0 0 8-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 0 1 612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z'));\nexports.TrademarkOutline = getIcon('trademark', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 0 0 7.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z'));\nexports.ToTopOutline = getIcon('to-top', outline, getNode(newViewBox, 'M885 780H165c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM400 325.7h73.9V664c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V325.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 171a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13z'));\nexports.TransactionOutline = getIcon('transaction', outline, getNode(newViewBox, 'M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7zM157.9 504.2a352.7 352.7 0 0 1 103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9 43.6-18.4 89.9-27.8 137.6-27.8 47.8 0 94.1 9.3 137.6 27.8 42.1 17.8 79.9 43.4 112.4 75.9 10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 0 0 3 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82 277 82 86.3 270.1 82 503.8a8 8 0 0 0 8 8.2h60c4.3 0 7.8-3.5 7.9-7.8zM934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 0 1-103.5 242.4 352.57 352.57 0 0 1-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.57 352.57 0 0 1-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 0 0-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942 747 942 937.7 753.9 942 520.2a8 8 0 0 0-8-8.2z'));\nexports.TwitterOutline = getIcon('twitter', outline, getNode(newViewBox, 'M928 254.3c-30.6 13.2-63.9 22.7-98.2 26.4a170.1 170.1 0 0 0 75-94 336.64 336.64 0 0 1-108.2 41.2A170.1 170.1 0 0 0 672 174c-94.5 0-170.5 76.6-170.5 170.6 0 13.2 1.6 26.4 4.2 39.1-141.5-7.4-267.7-75-351.6-178.5a169.32 169.32 0 0 0-23.2 86.1c0 59.2 30.1 111.4 76 142.1a172 172 0 0 1-77.1-21.7v2.1c0 82.9 58.6 151.6 136.7 167.4a180.6 180.6 0 0 1-44.9 5.8c-11.1 0-21.6-1.1-32.2-2.6C211 652 273.9 701.1 348.8 702.7c-58.6 45.9-132 72.9-211.7 72.9-14.3 0-27.5-.5-41.2-2.1C171.5 822 261.2 850 357.8 850 671.4 850 843 590.2 843 364.7c0-7.4 0-14.8-.5-22.2 33.2-24.3 62.3-54.4 85.5-88.2z'));\nexports.UnderlineOutline = getIcon('underline', outline, getNode(newViewBox, 'M824 804H200c-4.4 0-8 3.4-8 7.6v60.8c0 4.2 3.6 7.6 8 7.6h624c4.4 0 8-3.4 8-7.6v-60.8c0-4.2-3.6-7.6-8-7.6zm-312-76c69.4 0 134.6-27.1 183.8-76.2C745 602.7 772 537.4 772 468V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 97-79 176-176 176s-176-79-176-176V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 69.4 27.1 134.6 76.2 183.8C377.3 701 442.6 728 512 728z'));\nexports.UndoOutline = getIcon('undo', outline, getNode(newViewBox, 'M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 0 0-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 0 0-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z'));\nexports.UnorderedListOutline = getIcon('unordered-list', outline, getNode(newViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.UpOutline = getIcon('up', outline, getNode(newViewBox, 'M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 0 0 140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z'));\nexports.UploadOutline = getIcon('upload', outline, getNode(newViewBox, 'M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.UserAddOutline = getIcon('user-add', outline, getNode(newViewBox, 'M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UserDeleteOutline = getIcon('user-delete', outline, getNode(newViewBox, 'M678.3 655.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 518 759.6 444.7 759.6 362c0-137-110.8-248-247.5-248S264.7 225 264.7 362c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 901.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 641.2 432.2 610 512.2 610c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 534c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 362c0-45.9 17.9-89.1 50.3-121.6S466.3 190 512.2 190s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 362c0 45.9-17.9 89.1-50.3 121.6C601.1 516.1 558 534 512.2 534zM880 772H640c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UserOutline = getIcon('user', outline, getNode(newViewBox, 'M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z'));\nexports.UsergroupAddOutline = getIcon('usergroup-add', outline, getNode(newViewBox, 'M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.UsergroupDeleteOutline = getIcon('usergroup-delete', outline, getNode(newViewBox, 'M888 784H664c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7zM824 484c0-109.4-87.9-198.3-196.9-200C516.3 282.3 424 373.2 424 484c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 754.6 326 826.8 324 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 707.7 563 684 624 684c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 598.7 658.2 612 624 612s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.VerticalAlignBottomOutline = getIcon('vertical-align-bottom', outline, getNode(newViewBox, 'M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z'));\nexports.VerticalAlignMiddleOutline = getIcon('vertical-align-middle', outline, getNode(newViewBox, 'M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 0 0-11.3 0L405.6 752.3a7.23 7.23 0 0 0 5.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z'));\nexports.VerticalAlignTopOutline = getIcon('vertical-align-top', outline, getNode(newViewBox, 'M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z'));\nexports.VerticalLeftOutline = getIcon('vertical-left', outline, getNode(newViewBox, 'M762 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm-508 0v72.4c0 9.5 4.2 18.4 11.4 24.5L564.6 512 265.4 763.1c-7.2 6.1-11.4 15-11.4 24.5V860c0 6.8 7.9 10.5 13.1 6.1L689 512 267.1 157.9A7.95 7.95 0 0 0 254 164z'));\nexports.VerticalRightOutline = getIcon('vertical-right', outline, getNode(newViewBox, 'M326 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm444 72.4V164c0-6.8-7.9-10.5-13.1-6.1L335 512l421.9 354.1c5.2 4.4 13.1.7 13.1-6.1v-72.4c0-9.4-4.2-18.4-11.4-24.5L459.4 512l299.2-251.1c7.2-6.1 11.4-15.1 11.4-24.5z'));\nexports.WeiboOutline = getIcon('weibo', outline, getNode(newViewBox, 'M457.3 543c-68.1-17.7-145 16.2-174.6 76.2-30.1 61.2-1 129.1 67.8 151.3 71.2 23 155.2-12.2 184.4-78.3 28.7-64.6-7.2-131-77.6-149.2zm-52 156.2c-13.8 22.1-43.5 31.7-65.8 21.6-22-10-28.5-35.7-14.6-57.2 13.7-21.4 42.3-31 64.4-21.7 22.4 9.5 29.6 35 16 57.3zm45.5-58.5c-5 8.6-16.1 12.7-24.7 9.1-8.5-3.5-11.2-13.1-6.4-21.5 5-8.4 15.6-12.4 24.1-9.1 8.7 3.2 11.8 12.9 7 21.5zm334.5-197.2c15 4.8 31-3.4 35.9-18.3 11.8-36.6 4.4-78.4-23.2-109a111.39 111.39 0 0 0-106-34.3 28.45 28.45 0 0 0-21.9 33.8 28.39 28.39 0 0 0 33.8 21.8c18.4-3.9 38.3 1.8 51.9 16.7a54.2 54.2 0 0 1 11.3 53.3 28.45 28.45 0 0 0 18.2 36zm99.8-206c-56.7-62.9-140.4-86.9-217.7-70.5a32.98 32.98 0 0 0-25.4 39.3 33.12 33.12 0 0 0 39.3 25.5c55-11.7 114.4 5.4 154.8 50.1 40.3 44.7 51.2 105.7 34 159.1-5.6 17.4 3.9 36 21.3 41.7 17.4 5.6 36-3.9 41.6-21.2v-.1c24.1-75.4 8.9-161.1-47.9-223.9zM729 499c-12.2-3.6-20.5-6.1-14.1-22.1 13.8-34.7 15.2-64.7.3-86-28-40.1-104.8-37.9-192.8-1.1 0 0-27.6 12.1-20.6-9.8 13.5-43.5 11.5-79.9-9.6-101-47.7-47.8-174.6 1.8-283.5 110.6C127.3 471.1 80 557.5 80 632.2 80 775.1 263.2 862 442.5 862c235 0 391.3-136.5 391.3-245 0-65.5-55.2-102.6-104.8-118zM443 810.8c-143 14.1-266.5-50.5-275.8-144.5-9.3-93.9 99.2-181.5 242.2-195.6 143-14.2 266.5 50.5 275.8 144.4C694.4 709 586 796.6 443 810.8z'));\nexports.WifiOutline = getIcon('wifi', outline, getNode(newViewBox, 'M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 0 0-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 0 0-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 0 0-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 1 0 128 0 64 64 0 1 0-128 0z'));\nexports.ZhihuOutline = getIcon('zhihu', outline, getNode(newViewBox, 'M564.7 230.1V803h60l25.2 71.4L756.3 803h131.5V230.1H564.7zm247.7 497h-59.9l-75.1 50.4-17.8-50.4h-18V308.3h170.7v418.8zM526.1 486.9H393.3c2.1-44.9 4.3-104.3 6.6-172.9h130.9l-.1-8.1c0-.6-.2-14.7-2.3-29.1-2.1-15-6.6-34.9-21-34.9H287.8c4.4-20.6 15.7-69.7 29.4-93.8l6.4-11.2-12.9-.7c-.8 0-19.6-.9-41.4 10.6-35.7 19-51.7 56.4-58.7 84.4-18.4 73.1-44.6 123.9-55.7 145.6-3.3 6.4-5.3 10.2-6.2 12.8-1.8 4.9-.8 9.8 2.8 13 10.5 9.5 38.2-2.9 38.5-3 .6-.3 1.3-.6 2.2-1 13.9-6.3 55.1-25 69.8-84.5h56.7c.7 32.2 3.1 138.4 2.9 172.9h-141l-2.1 1.5c-23.1 16.9-30.5 63.2-30.8 65.2l-1.4 9.2h167c-12.3 78.3-26.5 113.4-34 127.4-3.7 7-7.3 14-10.7 20.8-21.3 42.2-43.4 85.8-126.3 153.6-3.6 2.8-7 8-4.8 13.7 2.4 6.3 9.3 9.1 24.6 9.1 5.4 0 11.8-.3 19.4-1 49.9-4.4 100.8-18 135.1-87.6 17-35.1 31.7-71.7 43.9-108.9L497 850l5-12c.8-1.9 19-46.3 5.1-95.9l-.5-1.8-108.1-123-22 16.6c6.4-26.1 10.6-49.9 12.5-71.1h158.7v-8c0-40.1-18.5-63.9-19.2-64.9l-2.4-3z'));\nexports.WomanOutline = getIcon('woman', outline, getNode(newViewBox, 'M712.8 548.8c53.6-53.6 83.2-125 83.2-200.8 0-75.9-29.5-147.2-83.2-200.8C659.2 93.6 587.8 64 512 64s-147.2 29.5-200.8 83.2C257.6 200.9 228 272.1 228 348c0 63.8 20.9 124.4 59.4 173.9 7.3 9.4 15.2 18.3 23.7 26.9 8.5 8.5 17.5 16.4 26.8 23.7 39.6 30.8 86.3 50.4 136.1 57V736H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h114v140c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V812h114c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H550V629.5c61.5-8.2 118.2-36.1 162.8-80.7zM512 556c-55.6 0-107.7-21.6-147.1-60.9C325.6 455.8 304 403.6 304 348s21.6-107.7 60.9-147.1C404.2 161.5 456.4 140 512 140s107.7 21.6 147.1 60.9C698.4 240.2 720 292.4 720 348s-21.6 107.7-60.9 147.1C619.7 534.4 567.6 556 512 556z'));\nexports.ZoomInOutline = getIcon('zoom-in', outline, getNode(newViewBox, 'M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.ZoomOutOutline = getIcon('zoom-out', outline, getNode(newViewBox, 'M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.AccountBookTwoTone = getIcon('account-book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-65.6 121.8l-89.3 164.1h49.1c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4v33.7h65.4c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4V752c0 4.4-3.6 8-8 8h-41.3c-4.4 0-8-3.6-8-8v-53.8h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8h65.1v-33.7h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8H467l-89.3-164c-2.1-3.9-.7-8.8 3.2-10.9 1.1-.7 2.5-1 3.8-1h46a8 8 0 0 1 7.1 4.4l73.4 145.4h2.8l73.4-145.4c1.3-2.7 4.1-4.4 7.1-4.4h45c4.5 0 8 3.6 7.9 8 0 1.3-.4 2.6-1 3.8z'\n ], [\n primaryColor,\n 'M639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ]);\n});\nexports.AlertTwoTone = getIcon('alert', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M340 585c0-5.5 4.5-10 10-10h44c5.5 0 10 4.5 10 10v171h355V563c0-136.4-110.6-247-247-247S265 426.6 265 563v193h75V585z'\n ], [\n primaryColor,\n 'M216.9 310.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8zm348 712H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zm-639-96c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563z'\n ]);\n});\nexports.ApiTwoTone = getIcon('api', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M148.2 674.6zm106.7-92.3c-25 25-38.7 58.1-38.7 93.4s13.8 68.5 38.7 93.4c25 25 58.1 38.7 93.4 38.7 35.3 0 68.5-13.8 93.4-38.7l59.4-59.4-186.8-186.8-59.4 59.4zm420.8-366.1c-35.3 0-68.5 13.8-93.4 38.7l-59.4 59.4 186.8 186.8 59.4-59.4c24.9-25 38.7-58.1 38.7-93.4s-13.8-68.5-38.7-93.4c-25-25-58.1-38.7-93.4-38.7z'\n ], [\n primaryColor,\n 'M578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2a199.45 199.45 0 0 0-58.6 140.4c-.2 39.5 11.2 79.1 34.3 113.1l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7-24.9-24.9-38.7-58.1-38.7-93.4s13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4zm476-620.3l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7s68.4 13.7 93.4 38.7c24.9 24.9 38.7 58.1 38.7 93.4s-13.8 68.4-38.7 93.4z'\n ]);\n});\nexports.AppstoreTwoTone = getIcon('appstore', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm52-668H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'\n ], [\n secondaryColor,\n 'M212 212h200v200H212zm400 0h200v200H612zM212 612h200v200H212zm400 0h200v200H612z'\n ]);\n});\nexports.AudioTwoTone = getIcon('audio', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 552c54.3 0 98-43.2 98-96V232c0-52.8-43.7-96-98-96s-98 43.2-98 96v224c0 52.8 43.7 96 98 96z'\n ], [\n primaryColor,\n 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'\n ], [\n primaryColor,\n 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-98-392c0-52.8 43.7-96 98-96s98 43.2 98 96v224c0 52.8-43.7 96-98 96s-98-43.2-98-96V232z'\n ]);\n});\nexports.BankTwoTone = getIcon('bank', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M240.9 393.9h542.2L512 196.7z'], [\n primaryColor,\n 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374zM240.9 393.9L512 196.7l271.1 197.2H240.9z'\n ]);\n});\nexports.BellTwoTone = getIcon('bell', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 220c-55.6 0-107.8 21.6-147.1 60.9S304 372.4 304 428v340h416V428c0-55.6-21.6-107.8-60.9-147.1S567.6 220 512 220zm280 208c0-141.1-104.3-257.8-240-277.2v.1c135.7 19.4 240 136 240 277.1zM472 150.9v-.1C336.3 170.2 232 286.9 232 428c0-141.1 104.3-257.7 240-277.1z'\n ], [\n primaryColor,\n 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zm208-120H304V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340z'\n ]);\n});\nexports.BookTwoTone = getIcon('book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zM232 888V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752H232z'\n ], [secondaryColor, 'M668 345.9V136h-96v211.4l49.5-35.4z'], [\n secondaryColor,\n 'M727.9 136v296.5c0 8.8-7.2 16-16 16-3.4 0-6.7-1.1-9.4-3.1L621.1 386l-83.8 59.9a15.9 15.9 0 0 1-22.3-3.7c-2-2.7-3-6-3-9.3V136H232v752h559.9V136h-64z'\n ]);\n});\nexports.BuildTwoTone = getIcon('build', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M144 546h200v200H144zm268-268h200v200H412z'], [\n primaryColor,\n 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM344 746H144V546h200v200zm268 0H412V546h200v200zm0-268H412V278h200v200zm268 0H680V278h200v200z'\n ]);\n});\nexports.BoxPlotTwoTone = getIcon('box-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M296 368h88v288h-88zm152 0h280v288H448z'], [\n primaryColor,\n 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM384 656h-88V368h88v288zm344 0H448V368h280v288z'\n ]);\n});\nexports.BulbTwoTone = getIcon('bulb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 136c-141.4 0-256 114.6-256 256 0 92.5 49.4 176.3 128.1 221.8l35.9 20.8V752h184V634.6l35.9-20.8C718.6 568.3 768 484.5 768 392c0-141.4-114.6-256-256-256z'\n ], [\n primaryColor,\n 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'\n ]);\n});\nexports.CalculatorTwoTone = getIcon('calculator', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm256.2-75h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zM576 335c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 265c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 104c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zM248 335c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48z'\n ], [\n primaryColor,\n 'M383.5 675l61.3-74.8c4.3-5.2.7-13.1-5.9-13.1h-50.8c-2.3 0-4.4 1-5.9 2.9l-34 41.6-34-41.6a7.69 7.69 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.4-1 5.9-2.9l35.5-43.5 35.5 43.5c1.4 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 6-13.2L383.5 675zM251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 369h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4z'\n ]);\n});\nexports.CarTwoTone = getIcon('car', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M199.6 474L184 517v237h656V517l-15.6-43H199.6zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [primaryColor, 'M720 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n primaryColor,\n 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM840 754H184V517l15.6-43h624.8l15.6 43v237z'\n ], [\n primaryColor,\n 'M224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm420 23h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.CameraTwoTone = getIcon('camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M864 320H677.2l-17.1-47.8-22.9-64.2H386.7l-22.9 64.2-17.1 47.8H160c-4.4 0-8 3.6-8 8v456c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zM512 704c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z'\n ], [\n primaryColor,\n 'M512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'\n ], [\n primaryColor,\n 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456z'\n ]);\n});\nexports.CarryOutTwoTone = getIcon('carry-out', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ], [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-17.5 128.8L481.9 725.5a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.9-6.6 13-6.6H688c6.5 0 10.3 7.4 6.5 12.8z'\n ], [\n primaryColor,\n 'M688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'\n ]);\n});\nexports.CheckCircleTwoTone = getIcon('check-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm193.4 225.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 5 25.9 13.3l71.2 98.8 157.2-218c6-8.4 15.7-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.CheckSquareTwoTone = getIcon('check-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm130-367.8h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H688c6.5 0 10.3 7.4 6.5 12.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L307.5 484.9c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M432.2 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7h-46.9c-10.3 0-19.9 5-25.9 13.3L458 584.3l-71.2-98.8c-6-8.4-15.7-13.3-25.9-13.3H314c-6.5 0-10.3 7.4-6.5 12.7l124.7 172.8z'\n ]);\n});\nexports.ClockCircleTwoTone = getIcon('clock-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm176.5 509.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'\n ], [\n primaryColor,\n 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.6-3.6 1.8-8.6-1.8-11.1z'\n ]);\n});\nexports.CloseCircleTwoTone = getIcon('close-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm171.8 527.1c1.2 1.5 1.9 3.3 1.9 5.2 0 4.5-3.6 8-8 8l-66-.3-99.3-118.4-99.3 118.5-66.1.3c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2L471 512.3l-130.1-155a8.32 8.32 0 0 1-1.9-5.2c0-4.5 3.6-8 8-8l66.1.3 99.3 118.4 99.4-118.5 66-.3c4.4 0 8 3.6 8 8 0 1.9-.6 3.8-1.8 5.2l-130.1 155 129.9 154.9z'\n ], [\n primaryColor,\n 'M685.8 352c0-4.4-3.6-8-8-8l-66 .3-99.4 118.5-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155-130.1 154.9a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3 99.3-118.5L611.7 680l66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.9 512.2l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z'\n ]);\n});\nexports.CloseSquareTwoTone = getIcon('close-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm163.9-473.9A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1z'\n ], [\n primaryColor,\n 'M354 671h58.9c4.8 0 9.3-2.1 12.3-5.7L512 561.8l86.8 103.5c3.1 3.6 7.6 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.3-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.8 0-9.3 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3.1-3.6-7.6-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z'\n ]);\n});\nexports.CloudTwoTone = getIcon('cloud', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M791.9 492l-37.8-10-13.8-36.5c-8.6-22.7-20.6-44.1-35.7-63.4a245.73 245.73 0 0 0-52.4-49.9c-41.1-28.9-89.5-44.2-140-44.2s-98.9 15.3-140 44.2a245.6 245.6 0 0 0-52.4 49.9 240.47 240.47 0 0 0-35.7 63.4l-13.9 36.6-37.9 9.9a125.7 125.7 0 0 0-66.1 43.7A123.1 123.1 0 0 0 140 612c0 33.1 12.9 64.3 36.3 87.7 23.4 23.4 54.5 36.3 87.6 36.3h496.2c33.1 0 64.2-12.9 87.6-36.3A123.3 123.3 0 0 0 884 612c0-56.2-37.8-105.5-92.1-120z'\n ], [\n primaryColor,\n 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'\n ]);\n});\nexports.CodeTwoTone = getIcon('code', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm339.5-223h185c4.1 0 7.5 3.6 7.5 8v48c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8zM308 610.3c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7z'\n ], [\n primaryColor,\n 'M321.1 679.1l192-161c3.9-3.2 3.9-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48z'\n ]);\n});\nexports.CompassTwoTone = getIcon('compass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM327.6 701.7c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2L421 470.9 553.1 603l-225.5 98.7zm375.1-375.1L604 552.1 471.9 420l225.5-98.7c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'\n ], [\n primaryColor,\n 'M322.3 696.4c-.4 1-.4 2.2 0 3.2.9 2.1 3.3 3 5.3 2.1L553.1 603 421 470.9l-98.7 225.5zm375.1-375.1L471.9 420 604 552.1l98.7-225.5c.4-1.1.4-2.2 0-3.2-.9-2.1-3.3-3-5.3-2.1z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ]);\n});\nexports.ContactsTwoTone = getIcon('contacts', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M460.3 526a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM661 736h-43.8c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 39.9-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5h-43.9a8 8 0 0 1-8-8.4c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.7 26.4 71.9 72.8 74.7 126.1a8 8 0 0 1-8 8.4z'\n ], [\n primaryColor,\n 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ]);\n});\nexports.ContainerTwoTone = getIcon('container', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M635 771.7c-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H232v201h560V687h-97.9c-11.6 32.8-32 62.3-59.1 84.7z'\n ], [\n primaryColor,\n 'M320 501h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v201zm0-264H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v488z'\n ], [\n primaryColor,\n 'M320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ControlTwoTone = getIcon('control', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM340.4 601.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm436.4-499.1c-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1zM340 485V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99z'\n ], [\n primaryColor,\n 'M340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c41.7-13.5 72-52.8 72-99s-30.3-85.4-72-99V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c-41.7 13.5-72 52.8-72 99s30.3 85.4 72 99zm.1-116c.1-.2.2-.3.3-.5l1.5-2.4c0-.1.1-.1.1-.2l.9-1.2c0-.1.1-.2.2-.3 1-1.2 2.1-2.5 3.2-3.6l.2-.2c.4-.4.8-.7 1.2-1.1.8-.7 1.7-1.4 2.6-2.1h.1l1.2-.9c.1-.1.3-.2.4-.3 1.3-.8 2.6-1.5 3.9-2.2.2-.2.5-.3.7-.4.4-.2.7-.3 1.1-.5.3-.1.7-.3 1-.4.5-.1 1-.3 1.5-.5.4-.1.9-.3 1.3-.4l.9-.3 1.4-.3c.2-.1.5-.1.7-.2.7-.2 1.4-.3 2.1-.4.2-.1.4-.1.6-.1.5-.1 1.1-.2 1.7-.2.3-.1.5-.1.7-.1.8-.1 1.5-.1 2.3-.1s1.5.1 2.3.1c.3.1.5.1.7.1.6.1 1.1.1 1.7.2.2.1.4.1.6.1.7.1 1.4.3 2.1.4.2.1.5.1.7.2l1.4.3.9.3c.4.1.9.3 1.3.4.5.1 1 .3 1.5.5.3.1.7.3 1 .4.4.2.7.3 1.1.5.2.2.5.3.7.4 1.4.6 2.7 1.4 3.9 2.2.1.1.3.2.4.3l1.2.9h.1c.9.6 1.8 1.3 2.6 2.1.4.3.8.7 1.2 1.1l.2.2c1.2 1.1 2.2 2.3 3.2 3.6 0 .1.1.2.2.3l.9 1.2c0 .1.1.1.1.2l1.5 2.4A36.03 36.03 0 0 1 408 584c0 6.1-1.6 11.9-4.3 17-.1.2-.2.3-.3.5l-1.5 2.4c0 .1-.1.1-.1.2l-.9 1.2c0 .1-.1.2-.2.3-1 1.2-2.1 2.5-3.2 3.6l-.2.2c-.4.4-.8.7-1.2 1.1-.8.7-1.7 1.4-2.6 2.1h-.1l-1.2.9c-.1.1-.3.2-.4.3-1.3.8-2.6 1.5-3.9 2.2-.2.2-.5.3-.7.4-.4.2-.7.3-1.1.5-.3.1-.7.3-1 .4-.5.1-1 .3-1.5.5-.4.1-.9.3-1.3.4l-.9.3-1.4.3c-.2.1-.5.1-.7.2-.7.2-1.4.3-2.1.4-.2.1-.4.1-.6.1-.5.1-1.1.2-1.7.2-.3.1-.5.1-.7.1-.8.1-1.5.1-2.3.1s-1.5-.1-2.3-.1c-.3-.1-.5-.1-.7-.1-.6-.1-1.1-.1-1.7-.2-.2-.1-.4-.1-.6-.1-.7-.1-1.4-.3-2.1-.4-.2-.1-.5-.1-.7-.2l-1.4-.3-.9-.3c-.4-.1-.9-.3-1.3-.4-.5-.1-1-.3-1.5-.5-.3-.1-.7-.3-1-.4-.4-.2-.7-.3-1.1-.5-.2-.2-.5-.3-.7-.4-1.4-.6-2.7-1.4-3.9-2.2-.1-.1-.3-.2-.4-.3l-1.2-.9h-.1c-.9-.6-1.8-1.3-2.6-2.1-.4-.3-.8-.7-1.2-1.1l-.2-.2c-1.2-1.1-2.2-2.3-3.2-3.6 0-.1-.1-.2-.2-.3l-.9-1.2c0-.1-.1-.1-.1-.2l-1.5-2.4c-.1-.2-.2-.3-.3-.5-2.7-5-4.3-10.9-4.3-17s1.6-11.9 4.3-17zm280.3-27.9c-.1 0-.2-.1-.4-.1v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-.1 0-.2.1-.4.1 42-13.4 72.4-52.7 72.4-99.1 0-46.4-30.4-85.7-72.4-99.1.1 0 .2.1.4.1v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c.1 0 .2-.1.4-.1-42 13.4-72.4 52.7-72.4 99.1 0 46.4 30.4 85.7 72.4 99.1zM652 404c19.9 0 36 16.1 36 36s-16.1 36-36 36-36-16.1-36-36 16.1-36 36-36z'\n ]);\n});\nexports.CopyTwoTone = getIcon('copy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M232 706h142c22.1 0 40 17.9 40 40v142h250V264H232v442z'], [\n primaryColor,\n 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'\n ]);\n});\nexports.CreditCardTwoTone = getIcon('credit-card', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h752V440H136v352zm507-144c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72zM136 232h752v120H136z'\n ], [\n primaryColor,\n 'M651 728h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V440h752v352zm0-440H136V232h752v120z'\n ]);\n});\nexports.CrownTwoTone = getIcon('crown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M911.9 283.9v.5L835.5 865c-1 8-7.9 14-15.9 14H204.5c-8.1 0-14.9-6.1-16-14l-76.4-580.6v-.6 1.6L188.5 866c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.1-.5.1-1 0-1.5z'\n ], [\n secondaryColor,\n 'M773.6 810.6l53.9-409.4-139.8 86.1L512 252.9 336.3 487.3l-139.8-86.1 53.8 409.4h523.3zm-374.2-189c0-62.1 50.5-112.6 112.6-112.6s112.6 50.5 112.6 112.6v1c0 62.1-50.5 112.6-112.6 112.6s-112.6-50.5-112.6-112.6v-1z'\n ], [\n primaryColor,\n 'M512 734.2c61.9 0 112.3-50.2 112.6-112.1v-.5c0-62.1-50.5-112.6-112.6-112.6s-112.6 50.5-112.6 112.6v.5c.3 61.9 50.7 112.1 112.6 112.1zm0-160.9c26.6 0 48.2 21.6 48.2 48.3 0 26.6-21.6 48.3-48.2 48.3s-48.2-21.6-48.2-48.3c0-26.6 21.6-48.3 48.2-48.3z'\n ], [\n primaryColor,\n 'M188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6v-.5c.3-6.4-6.7-10.8-12.3-7.4L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.5-3.4-12.6.9-12.2 7.3v.6L188.5 865zm147.8-377.7L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4H250.3l-53.8-409.4 139.8 86.1z'\n ]);\n});\nexports.CustomerServiceTwoTone = getIcon('customer-service', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M696 632h128v192H696zm-496 0h128v192H200z'], [\n primaryColor,\n 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'\n ]);\n});\nexports.DashboardTwoTone = getIcon('dashboard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 188c-99.3 0-192.7 38.7-263 109-70.3 70.2-109 163.6-109 263 0 105.6 44.5 205.5 122.6 276h498.8A371.12 371.12 0 0 0 884 560c0-99.3-38.7-192.7-109-263-70.2-70.3-163.6-109-263-109zm-30 44c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.4l-31.1 31.1a8.03 8.03 0 0 1-11.3 0l-56.6-56.6a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.5l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.2 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 538v44c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276z'\n ], [\n primaryColor,\n 'M762.7 340.8l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zM750 538v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zM304.1 309.7a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.DatabaseTwoTone = getIcon('database', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 616h560V408H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 888h560V680H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 344h560V136H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M304 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-544a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ]);\n});\nexports.DeleteTwoTone = getIcon('delete', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M292.7 840h438.6l24.2-512h-487z'], [\n primaryColor,\n 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-504-72h304v72H360v-72zm371.3 656H292.7l-24.2-512h487l-24.2 512z'\n ]);\n});\nexports.DiffTwoTone = getIcon('diff', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 264v624h432V413.8L514.2 264H232zm336 489c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-262v42c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7z'\n ], [\n primaryColor,\n 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'\n ], [\n primaryColor,\n 'M553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888z'\n ], [\n primaryColor,\n 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7z'\n ]);\n});\nexports.DislikeTwoTone = getIcon('dislike', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 100.1v428h.3l-.3-428zM820.4 525l-21.9-19 14-25.5a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-22.4-13.2-42.6-33.6-51.8H345v345.2c18.6 67.2 46.4 168 83.5 302.5a44.28 44.28 0 0 0 42.2 32.3c7.5.1 15-2.2 21.1-6.7 9.9-7.4 15.2-18.6 14.6-30.5l-9.6-198.4h314.4C829 605.5 840 587.1 840 568c0-16.5-7.1-32.2-19.6-43z'\n ], [\n primaryColor,\n 'M112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32zm773.9 358.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273l.3 428 85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zm-74.7 126.1H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3c-37.1-134.4-64.9-235.2-83.5-302.5V172h399.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'\n ]);\n});\nexports.DownCircleTwoTone = getIcon('down-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm184.4 277.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.DownSquareTwoTone = getIcon('down-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm150-440h46.9c10.3 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z'\n ]);\n});\nexports.EditTwoTone = getIcon('edit', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M761.1 288.3L687.8 215 325.1 577.6l-15.6 89 88.9-15.7z'], [\n primaryColor,\n 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89z'\n ]);\n});\nexports.EnvironmentTwoTone = getIcon('environment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M724.4 224.9C667.7 169.5 592.3 139 512 139s-155.7 30.5-212.4 85.8C243.1 280 212 353.2 212 431.1c0 241.3 234.1 407.2 300 449.1 65.9-41.9 300-207.8 300-449.1 0-77.9-31.1-151.1-87.6-206.2zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M512 263c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8S624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'\n ], [\n primaryColor,\n 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1z'\n ]);\n});\nexports.ExclamationCircleTwoTone = getIcon('exclamation-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-32 156c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M488 576h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8zm-24 112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.ExperimentTwoTone = getIcon('experiment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M551.9 513c19.6 0 35.9-14.2 39.3-32.8A40.02 40.02 0 0 1 552 512a40 40 0 0 1-40-39.4v.5c0 22 17.9 39.9 39.9 39.9zM752 687.8l-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-41.2 0-81-9.8-116.7-28L210.5 844h603l-59.9-155.2-1.6-1z'\n ], [\n primaryColor,\n 'M879 824.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.6-107.6.1-.2c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1l.6 1.6L813.5 844h-603z'\n ], [\n primaryColor,\n 'M552 512c19.3 0 35.4-13.6 39.2-31.8.6-2.7.8-5.4.8-8.2 0-22.1-17.9-40-40-40s-40 17.9-40 40v.6a40 40 0 0 0 40 39.4z'\n ]);\n});\nexports.EyeInvisibleTwoTone = getIcon('eye-invisible', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M254.89 758.85l125.57-125.57a176 176 0 0 1 248.82-248.82L757 256.72Q651.69 186.07 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q69.27 145.91 173.09 221.05zM942.2 486.2Q889.46 375.11 816.7 305L672.48 449.27a176.09 176.09 0 0 1-227.22 227.21L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'\n ], [\n primaryColor,\n 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zM878.63 165.56L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z'\n ], [\n primaryColor,\n 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'\n ]);\n});\nexports.EyeTwoTone = getIcon('eye', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M81.8 537.8a60.3 60.3 0 0 1 0-51.5C176.6 286.5 319.8 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c-192.1 0-335.4-100.5-430.2-300.2z'\n ], [\n secondaryColor,\n 'M512 258c-161.3 0-279.4 81.8-362.7 254C232.6 684.2 350.7 766 512 766c161.4 0 279.5-81.8 362.7-254C791.4 339.8 673.3 258 512 258zm-4 430c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258s279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z'\n ], [\n primaryColor,\n 'M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'\n ]);\n});\nexports.FileAddTwoTone = getIcon('file-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm126 236v48c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V644H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V472c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'\n ]);\n});\nexports.FileExcelTwoTone = getIcon('file-excel', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm51.6 120h35.7a12.04 12.04 0 0 1 10.1 18.5L546.1 623l84 130.4c3.6 5.6 2 13-3.6 16.6-2 1.2-4.2 1.9-6.5 1.9h-37.5c-4.1 0-8-2.1-10.2-5.7L510 664.8l-62.7 101.5c-2.2 3.5-6 5.7-10.2 5.7h-34.5a12.04 12.04 0 0 1-10.2-18.4l83.4-132.8-82.3-130.4c-3.6-5.7-1.9-13.1 3.7-16.6 1.9-1.3 4.1-1.9 6.4-1.9H442c4.2 0 8.1 2.2 10.3 5.8l61.8 102.4 61.2-102.3c2.2-3.6 6.1-5.8 10.3-5.8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'\n ]);\n});\nexports.FileExclamationTwoTone = getIcon('file-exclamation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-54 96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V448zm32 336c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M488 640h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm-16 104a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FileImageTwoTone = getIcon('file-image', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-134 50c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328.1c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8.1 8.1 0 0 1 12.7 0l136.5 174c4.1 5.2.4 12.9-6.3 12.9z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FilePdfTwoTone = getIcon('file-pdf', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M509.2 490.8c-.7-1.3-1.4-1.9-2.2-2-2.9 3.3-2.2 31.5 2.7 51.4 4-13.6 4.7-40.5-.5-49.4zm-1.6 120.5c-7.7 20-18.8 47.3-32.1 71.4 4-1.6 8.1-3.3 12.3-5 17.6-7.2 37.3-15.3 58.9-20.2-14.9-11.8-28.4-27.7-39.1-46.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm55 287.6c16.1-1.9 30.6-2.8 44.3-2.3 12.8.4 23.6 2 32 5.1.2.1.3.1.5.2.4.2.8.3 1.2.5.5.2 1.1.4 1.6.7.1.1.3.1.4.2 4.1 1.8 7.5 4 10.1 6.6 9.1 9.1 11.8 26.1 6.2 39.6-3.2 7.7-11.7 20.5-33.3 20.5-21.8 0-53.9-9.7-82.1-24.8-25.5 4.3-53.7 13.9-80.9 23.1-5.8 2-11.8 4-17.6 5.9-38 65.2-66.5 79.4-84.1 79.4-4.2 0-7.8-.9-10.8-2-6.9-2.6-12.8-8-16.5-15-.9-1.7-1.6-3.4-2.2-5.2-1.6-4.8-2.1-9.6-1.3-13.6l.6-2.7c.1-.2.1-.4.2-.6.2-.7.4-1.4.7-2.1 0-.1.1-.2.1-.3 4.1-11.9 13.6-23.4 27.7-34.6 12.3-9.8 27.1-18.7 45.9-28.4 15.9-28 37.6-75.1 51.2-107.4-10.8-41.8-16.7-74.6-10.1-98.6.9-3.3 2.5-6.4 4.6-9.1.2-.2.3-.4.5-.6.1-.1.1-.2.2-.2 6.3-7.5 16.9-11.9 28.1-11.5 16.6.7 29.7 11.5 33 30.1 1.7 8 2.2 16.5 1.9 25.7v.7c0 .5 0 1-.1 1.5-.7 13.3-3 26.6-7.3 44.7-.4 1.6-.8 3.2-1.2 5.2l-1 4.1-.1.3c.1.2.1.3.2.5l1.8 4.5c.1.3.3.7.4 1 .7 1.6 1.4 3.3 2.1 4.8v.1c8.7 18.8 19.7 33.4 33.9 45.1 4.3 3.5 8.9 6.7 13.9 9.8 1.8-.5 3.5-.7 5.3-.9z'\n ], [\n secondaryColor,\n 'M391.5 761c5.7-4.4 16.2-14.5 30.1-34.7-10.3 9.4-23.4 22.4-30.1 34.7zm270.9-83l.2-.3h.2c.6-.4.5-.7.4-.9-.1-.1-4.5-9.3-45.1-7.4 35.3 13.9 43.5 9.1 44.3 8.6z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M535.9 585.3c-.8-1.7-1.5-3.3-2.2-4.9-.1-.3-.3-.7-.4-1l-1.8-4.5c-.1-.2-.1-.3-.2-.5l.1-.3.2-1.1c4-16.3 8.6-35.3 9.4-54.4v-.7c.3-8.6-.2-17.2-2-25.6-3.8-21.3-19.5-29.6-32.9-30.2-11.3-.5-21.8 4-28.1 11.4-.1.1-.1.2-.2.2-.2.2-.4.4-.5.6-2.1 2.7-3.7 5.8-4.6 9.1-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.4-51.2 107.4v.1c-27.7 14.3-64.1 35.8-73.6 62.9 0 .1-.1.2-.1.3-.2.7-.5 1.4-.7 2.1-.1.2-.1.4-.2.6-.2.9-.5 1.8-.6 2.7-.9 4-.4 8.8 1.3 13.6.6 1.8 1.3 3.5 2.2 5.2 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-2.6-2.6-6-4.8-10.1-6.6-.1-.1-.3-.1-.4-.2-.5-.2-1.1-.4-1.6-.7-.4-.2-.8-.3-1.2-.5-.2-.1-.3-.1-.5-.2-16.2-5.8-41.7-6.7-76.3-2.8l-5.3.6c-5-3-9.6-6.3-13.9-9.8-14.2-11.3-25.1-25.8-33.8-44.7zM391.5 761c6.7-12.3 19.8-25.3 30.1-34.7-13.9 20.2-24.4 30.3-30.1 34.7zM507 488.8c.8.1 1.5.7 2.2 2 5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4zm-19.2 188.9c-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4 10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2zm175.4-.9c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4z'\n ]);\n});\nexports.FileMarkdownTwoTone = getIcon('file-markdown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm72.3 122H641c6.6 0 12 5.4 12 12v272c0 6.6-5.4 12-12 12h-27.2c-6.6 0-12-5.4-12-12V581.7L535 732.3c-2 4.3-6.3 7.1-11 7.1h-24.1a12 12 0 0 1-11-7.1l-66.8-150.2V758c0 6.6-5.4 12-12 12H383c-6.6 0-12-5.4-12-12V486c0-6.6 5.4-12 12-12h35c4.8 0 9.1 2.8 11 7.2l83.2 191 83.1-191c1.9-4.4 6.2-7.2 11-7.2z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'\n ]);\n});\nexports.FilePptTwoTone = getIcon('file-ppt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M464.5 516.2v108.4h38.9c44.7 0 71.2-10.9 71.2-54.3 0-34.4-20.1-54.1-53.9-54.1h-56.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm90 218.4c0 55.2-36.8 94.1-96.2 94.1h-63.3V760c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V484c0-4.4 3.6-8 8-8v.1h104c59.7 0 96 39.8 96 94.3z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M424 476.1c-4.4-.1-8 3.5-8 7.9v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.2c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1z'\n ]);\n});\nexports.FileTextTwoTone = getIcon('file-text', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 322c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm200-184v48c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8zm192 128H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.FileUnknownTwoTone = getIcon('file-unknown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 424c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm110-228.4c.7 44.9-29.7 84.5-74.3 98.9-5.7 1.8-9.7 7.3-9.7 13.3V672c0 5.5-4.5 10-10 10h-32c-5.5 0-10-4.5-10-10v-32c.2-19.8 15.4-37.3 34.7-40.1C549 596.2 570 574.3 570 549c0-28.1-25.8-51.5-58-51.5s-58 23.4-58 51.6c0 5.2-4.4 9.4-9.8 9.4h-32.4c-5.4 0-9.8-4.1-9.8-9.5 0-57.4 50.1-103.7 111.5-103 59.3.8 107.7 46.1 108.5 101.6z'\n ], [\n primaryColor,\n 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M480 744a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm-78-195c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103z'\n ]);\n});\nexports.FileWordTwoTone = getIcon('file-word', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm101.3 129.3c1.3-5.4 6.1-9.3 11.7-9.3h35.6a12.04 12.04 0 0 1 11.6 15.1l-74.4 276c-1.4 5.3-6.2 8.9-11.6 8.9h-31.8c-5.4 0-10.2-3.7-11.6-8.9l-52.8-197-52.8 197c-1.4 5.3-6.2 8.9-11.6 8.9h-32c-5.4 0-10.2-3.7-11.6-8.9l-74.2-276a12.02 12.02 0 0 1 11.6-15.1h35.4c5.6 0 10.4 3.9 11.7 9.3L434.6 680l49.7-198.9c1.3-5.4 6.1-9.1 11.6-9.1h32.2c5.5 0 10.3 3.7 11.6 9.1l49.8 199.3 45.8-199.1z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'\n ]);\n});\nexports.FileZipTwoTone = getIcon('file-zip', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M344 630h32v2h-32z'], [\n secondaryColor,\n 'M534 352V136H360v64h64v64h-64v64h64v64h-64v64h64v64h-64v62h64v160H296V520h64v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h-64v752h560V394H576a42 42 0 0 1-42-42z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M296 392h64v64h-64zm0-128h64v64h-64zm0 318v160h128V582h-64v-62h-64v62zm48 50v-2h32v64h-32v-62zm16-432h64v64h-64zm0 256h64v64h-64zm0-128h64v64h-64z'\n ]);\n});\nexports.FileTwoTone = getIcon('file', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42z'], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ]);\n});\nexports.FilterTwoTone = getIcon('filter', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V642H420.6zM411 561.4l9.5 16.6h183l9.5-16.6L811.3 226H212.7z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V642h182.9v156zm9.5-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'\n ]);\n});\nexports.FireTwoTone = getIcon('fire', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M737 438.6c-9.6 15.5-21.1 30.7-34.4 45.6a73.1 73.1 0 0 1-51 24.4 73.36 73.36 0 0 1-53.4-18.8 74.01 74.01 0 0 1-24.4-59.8c3-47.4-12.4-103.1-45.8-165.7-16.9-31.4-37.1-58.2-61.2-80.4a240 240 0 0 1-12.1 46.5 354.26 354.26 0 0 1-58.2 101 349.6 349.6 0 0 1-58.6 56.8c-34 26.1-62 60-80.8 97.9a275.96 275.96 0 0 0-29.1 124c0 74.9 29.5 145.3 83 198.4 53.7 53.2 125 82.4 201 82.4s147.3-29.2 201-82.4c53.5-53 83-123.5 83-198.4 0-39.2-8.1-77.3-24-113.1-9.3-21-21-40.5-35-58.4z'\n ], [\n primaryColor,\n 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'\n ]);\n});\nexports.FlagTwoTone = getIcon('flag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 232h368v336H184z'], [secondaryColor, 'M624 632c0 4.4-3.6 8-8 8H504v73h336V377H624v255z'], [\n primaryColor,\n 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'\n ]);\n});\nexports.FolderAddTwoTone = getIcon('folder-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M372.5 256H184v512h656V370.4H492.1L372.5 256zM540 443.1V528h84.5c4.1 0 7.5 3.1 7.5 7v42c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1z'\n ], [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [\n primaryColor,\n 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1z'\n ]);\n});\nexports.FolderOpenTwoTone = getIcon('folder-open', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M159 768h612.3l103.4-256H262.3z'], [\n primaryColor,\n 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'\n ]);\n});\nexports.FolderTwoTone = getIcon('folder', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [secondaryColor, 'M372.5 256H184v512h656V370.4H492.1z']);\n});\nexports.FrownTwoTone = getIcon('frown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm224 112c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4 3.7-49.5 45.3-88.6 95.8-88.6s92 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533zm128-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.FundTwoTone = getIcon('fund', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm56.4-130.5l214.9-215c3.1-3.1 8.2-3.1 11.3 0L533 561l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.1 3.1 3.1 8.2 0 11.3l-297 297.2a8.03 8.03 0 0 1-11.3 0L412.9 537.2 240.4 709.7a8.03 8.03 0 0 1-11.3 0l-36.7-36.9a8.03 8.03 0 0 1 0-11.3z'\n ], [\n primaryColor,\n 'M229.1 709.7c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L533 561 418.6 446.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'\n ]);\n});\nexports.FunnelPlotTwoTone = getIcon('funnel-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V650H420.6zM297.7 374h428.6l85-148H212.7zm113.2 197.4l8.4 14.6h185.3l8.4-14.6L689.6 438H334.4z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V650h182.9v148zm9.5-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'\n ]);\n});\nexports.GiftTwoTone = getIcon('gift', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M546 378h298v104H546zM228 550h250v308H228zm-48-172h298v104H180zm366 172h250v308H546z'\n ], [\n primaryColor,\n 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zM478 858H228V550h250v308zm0-376H180V378h298v104zm0-176h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm68-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm250 622H546V550h250v308zm48-376H546V378h298v104z'\n ]);\n});\nexports.HddTwoTone = getIcon('hdd', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 888h560V680H232v208zm448-140c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 616h560V408H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48zm-72-144h560V136H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ], [\n primaryColor,\n 'M312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-272h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 516a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.HeartTwoTone = getIcon('heart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'\n ], [\n secondaryColor,\n 'M679.7 201c-73.1 0-136.5 40.8-167.7 100.4C480.8 241.8 417.4 201 344.3 201c-104 0-188.3 82.6-188.3 184.5 0 201.2 356 429.3 356 429.3s356-228.1 356-429.3C868 283.6 783.7 201 679.7 201z'\n ]);\n});\nexports.HighlightTwoTone = getIcon('highlight', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 796.3h160.2l54.3-54.1-80.1-78.9zm220.7-397.1l262.8 258.9 147.3-145-262.8-259zm-77.1 166.1l171.4 168.9 68.6-67.6-171.4-168.9z'\n ], [\n primaryColor,\n 'M957.6 507.5L603.2 158.3a7.9 7.9 0 0 0-11.2 0L353.3 393.5a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8v55.2c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6L539 830a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.3H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.3l68.6-67.6 171.4 168.9-68.6 67.6zm168.5-76.1L450.3 399.2l147.3-145.1 262.8 259-147.3 145z'\n ]);\n});\nexports.HourglassTwoTone = getIcon('hourglass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 548c-42.2 0-81.9 16.4-111.7 46.3A156.63 156.63 0 0 0 354 706v134h316V706c0-42.2-16.4-81.9-46.3-111.7A156.63 156.63 0 0 0 512 548zM354 318c0 42.2 16.4 81.9 46.3 111.7C430.1 459.6 469.8 476 512 476s81.9-16.4 111.7-46.3C653.6 399.9 670 360.2 670 318V184H354v134z'\n ], [\n primaryColor,\n 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'\n ]);\n});\nexports.HomeTwoTone = getIcon('home', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.1 172.6l-370 369.7h96V868H392V640c0-22.1 17.9-40 40-40h160c22.1 0 40 17.9 40 40v228h153.9V542.3H882L535.2 195.7l-23.1-23.1zm434.5 422.9c-6 6-13.1 10.8-20.8 13.9 7.7-3.2 14.8-7.9 20.8-13.9zm-887-34.7c5 30.3 31.4 53.5 63.1 53.5h.9c-31.9 0-58.9-23-64-53.5zm-.9-10.5v-1.9 1.9zm.1-2.6c.1-3.1.5-6.1 1-9.1-.6 2.9-.9 6-1 9.1z'\n ], [\n primaryColor,\n 'M951 510c0-.1-.1-.1-.1-.2l-1.8-2.1c-.1-.1-.2-.3-.4-.4-.7-.8-1.5-1.6-2.2-2.4L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.6 63.6 0 0 0-16 26.6l-.6 2.1-.3 1.1-.3 1.2c-.2.7-.3 1.4-.4 2.1 0 .1 0 .3-.1.4-.6 3-.9 6-1 9.1v3.3c0 .5 0 1 .1 1.5 0 .5 0 .9.1 1.4 0 .5.1 1 .1 1.5 0 .6.1 1.2.2 1.8 0 .3.1.6.1.9l.3 2.5v.1c5.1 30.5 32.2 53.5 64 53.5h42.5V940h691.7V614.3h43.4c8.6 0 16.9-1.7 24.5-4.9s14.7-7.9 20.8-13.9a63.6 63.6 0 0 0 18.7-45.3c0-14.7-5-28.8-14.3-40.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'\n ]);\n});\nexports.Html5TwoTone = getIcon('html5', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2z'\n ], [\n secondaryColor,\n 'M209.9 155.4l56.7 641.2 245.2 69.6 244.1-69.6 57.8-641.2H209.9zm530.4 117.9l-4.8 47.2-1.7 19.5H381.7l8.2 94.2H511v-.2h214.7l-3.2 24.3-21.2 242.2-1.7 16.3-187.7 51.7v.4h-1.7l-188.6-52-11.3-144.7h91l6.5 73.2 102.4 27.7h.8v-.2l102.4-27.7 11.4-118.5H511.9v.1H305.4l-22.7-253.5L281 249h461l-1.7 24.3z'\n ], [\n primaryColor,\n 'M281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'\n ]);\n});\nexports.IdcardTwoTone = getIcon('idcard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm472-372c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm0 144c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48zM216.2 664.6c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.6 26.4 71.8 72.8 74.6 126.1a8 8 0 0 1-8 8.4h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224c-4.6 0-8.2-3.8-7.8-8.4z'\n ], [\n secondaryColor,\n 'M321.3 463a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n primaryColor,\n 'M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'\n ]);\n});\nexports.InfoCircleTwoTone = getIcon('info-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm32 588c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.InsuranceTwoTone = getIcon('insurance', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [secondaryColor, 'M521.9 358.8h97.9v41.6h-97.9z'], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM413.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm257.9-340v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a6.38 6.38 0 0 1-4.8 1.4c-1.7-.3-3.2-1.3-4.1-2.8L432 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M443.7 306.9l-38.6-18.3c-3.4-1.6-7.3.2-8.4 3.7-17.5 58.5-45.2 110.2-82.2 153.6a5.7 5.7 0 0 0-1.2 5.6l13.2 43.5c1.4 4.5 7 5.8 10.2 2.4 7.7-8.1 15.4-16.8 23.1-26V656c0 4.4 3.6 8 8 8h37.3c4.4 0 8-3.6 8-8h.2V393.1a429.2 429.2 0 0 0 33.6-79c.9-2.8-.5-5.9-3.2-7.2zm26.8 9.1v127.4c0 4.4 3.6 8 8 8h65.9V470h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c.9 1.5 2.4 2.5 4.1 2.8 1.7.3 3.5-.2 4.8-1.4 31.6-26.8 58.6-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V535.9c21.3 41.7 47.5 77.6 78.1 106.9 2.6 2.5 6.7 2.2 8.9-.7l26.3-35.3c2-2.6 1.4-6.4-1.2-8.5-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8v-35.6c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H478.5c-4.4 0-8 3.6-8 8zm51.4 42.8h97.9v41.6h-97.9v-41.6z'\n ]);\n});\nexports.InterationTwoTone = getIcon('interation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z'\n ], [\n primaryColor,\n 'M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'\n ]);\n});\nexports.LeftCircleTwoTone = getIcon('left-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm104 240.9c0 10.3-4.9 19.9-13.2 25.9L457.4 512l145.4 105.1c8.3 6 13.2 15.7 13.2 25.9v46.9c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z'\n ]);\n});\nexports.LeftSquareTwoTone = getIcon('left-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm181.3-334.5l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9c0 10.3-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.7 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.4l-246-178a7.95 7.95 0 0 1 0-12.9z'\n ], [\n primaryColor,\n 'M365.3 518.4l246 178c5.3 3.9 12.7.1 12.7-6.4v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a7.95 7.95 0 0 0 0 12.9z'\n ]);\n});\nexports.LikeTwoTone = getIcon('like', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 495.9v428l.3-428zm538.2-88.3H496.8l9.6-198.4c.6-11.9-4.7-23.1-14.6-30.5-6.1-4.5-13.6-6.8-21.1-6.7-19.6.1-36.9 13.4-42.2 32.3-37.1 134.4-64.9 235.2-83.5 302.5V852h399.4a56.85 56.85 0 0 0 33.6-51.8c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-14-25.5 21.9-19a56.76 56.76 0 0 0 19.6-43c0-19.1-11-37.5-28.8-48.4z'\n ], [\n primaryColor,\n 'M112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32zm773.9 5.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.5-65.5-111a67.67 67.67 0 0 0-34.3-9.3H572.3l6-122.9c1.5-29.7-9-57.9-29.5-79.4a106.4 106.4 0 0 0-77.9-33.4c-52 0-98 35-111.8 85.1l-85.8 310.8-.3 428h472.1c9.3 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37zM820.4 499l-21.9 19 14 25.5a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H345V506.8c18.6-67.2 46.4-168 83.5-302.5a44.28 44.28 0 0 1 42.2-32.3c7.5-.1 15 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.1 32.2-19.6 43z'\n ]);\n});\nexports.LayoutTwoTone = getIcon('layout', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M384 185h456v136H384zm-200 0h136v656H184zm696-73H144c-17.7 0-32 14.3-32 32v1c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32v-1c0-17.7-14.3-32-32-32zM384 385h456v456H384z'\n ], [\n primaryColor,\n 'M880 113H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V145c0-17.7-14.3-32-32-32zM320 841H184V185h136v656zm520 0H384V385h456v456zm0-520H384V185h456v136z'\n ]);\n});\nexports.LockTwoTone = getIcon('lock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304z'\n ], [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ]);\n});\nexports.MailTwoTone = getIcon('mail', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 536.3L135.9 270.7l-27.5-21.4 27.6 21.5V792h752V270.8L546.2 536.3a55.99 55.99 0 0 1-68.7 0z'\n ], [secondaryColor, 'M876.3 198.8l39.3 50.5-27.6 21.5 27.7-21.5-39.3-50.5z'], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-94.5 72.1L512 482 190.5 232.1h643zm54.5 38.7V792H136V270.8l-27.6-21.5 27.5 21.4 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5h.1l39.3 50.5-27.7 21.5z'\n ]);\n});\nexports.MedicineBoxTwoTone = getIcon('medicine-box', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M244.3 328L184 513.4V840h656V513.4L779.7 328H244.3zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840z'\n ]);\n});\nexports.MehTwoTone = getIcon('meh', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 144H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-24-144a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.MessageTwoTone = getIcon('message', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M775.3 248.9a369.62 369.62 0 0 0-119-80A370.2 370.2 0 0 0 512.1 140h-1.7c-99.7.4-193 39.4-262.8 109.9-69.9 70.5-108 164.1-107.6 263.8.3 60.3 15.3 120.2 43.5 173.1l4.5 8.4V836h140.8l8.4 4.5c52.9 28.2 112.8 43.2 173.1 43.5h1.7c99 0 192-38.2 262.1-107.6 70.4-69.8 109.5-163.1 110.1-262.7.2-50.6-9.5-99.6-28.9-145.8a370.15 370.15 0 0 0-80-119zM312 560a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M664 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ], [\n primaryColor,\n 'M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'\n ], [primaryColor, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.MinusCircleTwoTone = getIcon('minus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.MinusSquareTwoTone = getIcon('minus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.MobileTwoTone = getIcon('mobile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M744 64H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H288V136h448v752z'\n ], [\n secondaryColor,\n 'M288 888h448V136H288v752zm224-142c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 786a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.MoneyCollectTwoTone = getIcon('money-collect', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M256 744.4l256 93.1 256-93.1V184H256v560.4zM359.7 313c1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 485.2h3.3L599 316.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8L564 515.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V704c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 323.8c-2.1-3.8-.7-8.7 3.2-10.8z'\n ], [\n primaryColor,\n 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM768 744.4l-256 93.1-256-93.1V184h512v560.4z'\n ], [\n primaryColor,\n 'M460.4 515.4h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6z'\n ]);\n});\nexports.NotificationTwoTone = getIcon('notification', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 678.1c-3.7 11.6-5.6 23.9-5.6 36.4 0-12.5 2-24.8 5.7-36.4h-.1zm76.3-260.2H184v188.2h121.9l12.9 5.2L840 820.7V203.3L318.8 412.7z'\n ], [\n primaryColor,\n 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'\n ]);\n});\nexports.PauseCircleTwoTone = getIcon('pause-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-80 524c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'\n ], [\n primaryColor,\n 'M424 352h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PhoneTwoTone = getIcon('phone', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M721.7 184.9L610.9 295.8l120.8 120.7-8 21.6A481.29 481.29 0 0 1 438 723.9l-21.6 8-.9-.9-119.8-120-110.8 110.9 104.5 104.5c10.8 10.7 26 15.7 40.8 13.2 117.9-19.5 235.4-82.9 330.9-178.4s158.9-213.1 178.4-331c2.5-14.8-2.5-30-13.3-40.8L721.7 184.9z'\n ], [\n primaryColor,\n 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'\n ]);\n});\nexports.PictureTwoTone = getIcon('picture', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z'\n ], [\n secondaryColor,\n 'M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z'\n ], [\n secondaryColor,\n 'M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 1 1 0 176 88 88 0 0 1 0-176z'\n ], [secondaryColor, 'M276 368a28 28 0 1 0 56 0 28 28 0 1 0-56 0z'], [\n primaryColor,\n 'M304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'\n ]);\n});\nexports.PieChartTwoTone = getIcon('pie-chart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M316.2 920.5c-47.6-20.1-90.4-49-127.1-85.7a398.19 398.19 0 0 1-85.7-127.1A397.12 397.12 0 0 1 72 552.2v.2a398.57 398.57 0 0 0 117 282.5c36.7 36.7 79.4 65.5 127 85.6A396.64 396.64 0 0 0 471.6 952c27 0 53.6-2.7 79.7-7.9-25.9 5.2-52.4 7.8-79.3 7.8-54 .1-106.4-10.5-155.8-31.4zM560 472c-4.4 0-8-3.6-8-8V79.9c0-1.3.3-2.5.9-3.6-.9 1.3-1.5 2.9-1.5 4.6v383.7c0 4.4 3.6 8 8 8l383.6-1c1.6 0 3.1-.5 4.4-1.3-1 .5-2.2.7-3.4.7l-384 1z'\n ], [\n secondaryColor,\n 'M619.8 147.6v256.6l256.4-.7c-13-62.5-44.3-120.5-90-166.1a332.24 332.24 0 0 0-166.4-89.8z'\n ], [\n secondaryColor,\n 'M438 221.7c-75.9 7.6-146.2 40.9-200.8 95.5C174.5 379.9 140 463.3 140 552s34.5 172.1 97.2 234.8c62.3 62.3 145.1 96.8 233.2 97.2 88.2.4 172.7-34.1 235.3-96.2C761 733 794.6 662.3 802.3 586H438V221.7z'\n ], [\n primaryColor,\n 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552v.2c0 53.9 10.6 106.2 31.4 155.5 20.1 47.6 49 90.4 85.7 127.1 36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952c26.9 0 53.4-2.6 79.3-7.8 26.1-5.3 51.7-13.1 76.4-23.6 47.6-20.1 90.4-49 127.1-85.7 36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552s34.5-172.1 97.2-234.8c54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8z'\n ], [\n primaryColor,\n 'M952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-3.4-.3-6.4 1.5-7.8 4.3a8.7 8.7 0 0 0-.9 3.6V464c0 4.4 3.6 8 8 8l384-1c1.2 0 2.3-.3 3.4-.7a8.1 8.1 0 0 0 4.6-7.9zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'\n ]);\n});\nexports.PlayCircleTwoTone = getIcon('play-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm164.1 378.2L457.7 677.1a8.02 8.02 0 0 1-12.7-6.5V353a8 8 0 0 1 12.7-6.5l218.4 158.8a7.9 7.9 0 0 1 0 12.9z'\n ], [\n primaryColor,\n 'M676.1 505.3L457.7 346.5A8 8 0 0 0 445 353v317.6a8.02 8.02 0 0 0 12.7 6.5l218.4-158.9a7.9 7.9 0 0 0 0-12.9z'\n ]);\n});\nexports.PlaySquareTwoTone = getIcon('play-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm240-484.7c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3z'\n ], [\n primaryColor,\n 'M442.3 677.6l199.4-156.8a11.2 11.2 0 0 0 0-17.6L442.3 346.5c-7.4-5.9-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.6 18.3 8.8z'\n ]);\n});\nexports.PlusCircleTwoTone = getIcon('plus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PoundCircleTwoTone = getIcon('pound-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm146 582.1c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8v39.8z'\n ], [\n primaryColor,\n 'M650 674.3H470v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.8-5.3-41h98.6c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8h-112c-7.2-22.6-13.4-45.8-13.4-70.5 0-43.6 34-70.2 87.3-70.2 21.4 0 42.5 4.1 60.4 10.5a8 8 0 0 0 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.9-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.4 6.8 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.2c3.4 14.8 5.9 29.5 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8v38.5c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.ProfileTwoTone = getIcon('profile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm300-496c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zM380 328c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M340 656a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm152 320h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PlusSquareTwoTone = getIcon('plus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ProjectTwoTone = getIcon('project', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm472-560c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280z'\n ], [\n primaryColor,\n 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PrinterTwoTone = getIcon('printer', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M360 180h304v152H360zm492 220H172c-6.6 0-12 5.4-12 12v292h132V500h440v204h132V412c0-6.6-5.4-12-12-12zm-24 84c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'\n ], [\n primaryColor,\n 'M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'\n ], [\n primaryColor,\n 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PropertySafetyTwoTone = getIcon('property-safety', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM593.9 318h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3L585 323.5a10 10 0 0 1 8.9-5.5z'\n ], [\n primaryColor,\n 'M438.9 323.5a9.88 9.88 0 0 0-8.9-5.5h-46c-1.7 0-3.3.4-4.8 1.2-4.9 2.7-6.6 8.8-4 13.6l88 161.1H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1c.8-1.5 1.2-3.1 1.1-4.8 0-5.5-4.5-10-10-10h-45a10 10 0 0 0-8.9 5.5l-73.2 144.3-72.9-144.3z'\n ]);\n});\nexports.PushpinTwoTone = getIcon('pushpin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M474.8 357.7l-24.5 24.5-34.4-3.8c-9.6-1.1-19.3-1.6-28.9-1.6-29 0-57.5 4.7-84.7 14.1-14 4.8-27.4 10.8-40.3 17.9l353.1 353.3a259.92 259.92 0 0 0 30.4-153.9l-3.8-34.4 24.5-24.5L800 415.5 608.5 224 474.8 357.7z'\n ], [\n primaryColor,\n 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'\n ]);\n});\nexports.QuestionCircleTwoTone = getIcon('question-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm0 632c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'\n ], [\n primaryColor,\n 'M472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm151.6-415.3C593.6 290.5 554 276 512 276s-81.6 14.4-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.2 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5 0-39.3-17.2-76-48.4-103.3z'\n ]);\n});\nexports.ReconciliationTwoTone = getIcon('reconciliation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M740 344H404V240H304v160h176c17.7 0 32 14.3 32 32v360h328V240H740v104zM584 448c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56zm92 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-341v96c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [secondaryColor, 'M642 657a34 34 0 1 0 68 0 34 34 0 1 0-68 0z'], [\n primaryColor,\n 'M592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm112-104v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ], [\n primaryColor,\n 'M880 168H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552z'\n ], [\n primaryColor,\n 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'\n ]);\n});\nexports.RedEnvelopeTwoTone = getIcon('red-envelope', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'\n ], [\n secondaryColor,\n 'M492.3 397.2L232 193.1V888h560V193.1L531.8 397.2a31.99 31.99 0 0 1-39.5 0zm99.4 60.9h47.8a8.45 8.45 0 0 1 7.4 12.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4V665c0 4.6-3.8 8.4-8.4 8.4h-63.3V702h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.7-3.5 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4L377 470.4a8.4 8.4 0 0 1 3.4-11.4c1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.7 142 71.9-141.9a8.6 8.6 0 0 1 7.5-4.6z'\n ], [secondaryColor, 'M232 136.7h31.7L512 331.3l248.3-194.6H792v-.7H232z'], [\n primaryColor,\n 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142z'\n ]);\n});\nexports.RestTwoTone = getIcon('rest', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M326.4 844h363.2l44.3-520H282l44.4 520zM508 416c79.5 0 144 64.5 144 144s-64.5 144-144 144-144-64.5-144-144 64.5-144 144-144z'\n ], [\n primaryColor,\n 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'\n ], [\n primaryColor,\n 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'\n ]);\n});\nexports.RightCircleTwoTone = getIcon('right-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm154.7 378.4l-246 178c-5.3 3.8-12.7 0-12.7-6.5V643c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M666.7 505.5l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L566.6 512 421.2 617.1c-8.3 6-13.2 15.7-13.2 25.9v46.9c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.7 0-12.9z'\n ]);\n});\nexports.RightSquareTwoTone = getIcon('right-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm216-196.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9l-246 178c-5.3 3.9-12.7.1-12.7-6.4v-46.9z'\n ], [\n primaryColor,\n 'M412.7 696.4l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.7-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.4z'\n ]);\n});\nexports.RocketTwoTone = getIcon('rocket', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M261.7 621.4c-9.4 14.6-17 30.3-22.5 46.6H324V558.7c-24.8 16.2-46 37.5-62.3 62.7zM700 558.7V668h84.8c-5.5-16.3-13.1-32-22.5-46.6a211.6 211.6 0 0 0-62.3-62.7zm-64-239.9l-124-147-124 147V668h248V318.8zM512 448a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zm-540-68h-84.8c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668zm64-184.9V318.8l124-147 124 147V668H388V483.1zm240.1 301.1c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM700 668V558.7a211.6 211.6 0 0 1 62.3 62.7c9.4 14.6 17 30.3 22.5 46.6H700z'\n ], [primaryColor, 'M464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.SafetyCertificateTwoTone = getIcon('safety-certificate', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM632.8 328H688c6.5 0 10.3 7.4 6.5 12.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89.1 150.9-207.8c3-4.1 7.9-6.6 13-6.6z'\n ], [\n primaryColor,\n 'M404.2 453.3c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'\n ]);\n});\nexports.SaveTwoTone = getIcon('save', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M704 320c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V184H184v656h656V341.8l-136-136V320zM512 730c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144z'\n ], [\n primaryColor,\n 'M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'\n ], [\n primaryColor,\n 'M893.3 293.3L730.7 130.7c-.7-.7-1.4-1.3-2.1-2-.1-.1-.3-.2-.4-.3-.7-.7-1.5-1.3-2.2-1.9a64 64 0 0 0-22-11.7V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z'\n ]);\n});\nexports.ScheduleTwoTone = getIcon('schedule', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.4-91.2l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.3c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.4 12.9 6.6l52.8 73.1 103.6-143.7c3-4.1 7.8-6.6 12.8-6.5h54.9c6.5 0 10.3 7.4 6.5 12.7z'\n ], [\n primaryColor,\n 'M724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ], [\n primaryColor,\n 'M416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.SecurityScanTwoTone = getIcon('security-scan', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M460.7 451.1a80.1 80.1 0 1 0 160.2 0 80.1 80.1 0 1 0-160.2 0z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zm428.7 122.5c56.3 56.3 56.3 147.5 0 203.8-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0z'\n ], [\n primaryColor,\n 'M418.8 527.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.6 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 122.9-20.1 178.6zm65.4-133.3a80.1 80.1 0 0 1 113.3 0 80.1 80.1 0 0 1 0 113.3c-31.3 31.3-82 31.3-113.3 0s-31.3-82 0-113.3z'\n ]);\n});\nexports.SettingTwoTone = getIcon('setting', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M859.3 569.7l.2.1c3.1-18.9 4.6-38.2 4.6-57.3 0-17.1-1.3-34.3-3.7-51.1 2.4 16.7 3.6 33.6 3.6 50.5 0 19.4-1.6 38.8-4.7 57.8zM99 398.1c-.5-.4-.9-.8-1.4-1.3.7.7 1.4 1.4 2.2 2.1l65.5 55.9v-.1L99 398.1zm536.6-216h.1l-15.5-83.8c-.2-1-.4-1.9-.7-2.8.1.5.3 1.1.4 1.6l15.7 85zm54 546.5l31.4-25.8 92.8 32.9c17-22.9 31.3-47.5 42.6-73.6l-74.7-63.9 6.6-40.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.5-39.9 74.7-63.9c-11.4-26-25.6-50.7-42.6-73.6l-92.8 32.9-31.4-25.8c-23.9-19.6-50.6-35-79.3-45.8l-38.1-14.3-17.9-97a377.5 377.5 0 0 0-85 0l-17.9 97.2-37.9 14.3c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.3 47.5-42.6 73.6l75.5 64.5-6.5 40c-2.5 14.9-3.7 30.2-3.7 45.5 0 15.2 1.3 30.6 3.7 45.5l6.5 40-75.5 64.5c11.4 26 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.8 14.5 17.9 97.2c28.2 3.2 56.9 3.2 85 0l17.9-97 38.1-14.3c28.8-10.8 55.4-26.2 79.3-45.8zm-177.1-50.3c-30.5 0-59.2-7.8-84.3-21.5C373.3 627 336 568.9 336 502c0-97.2 78.8-176 176-176 66.9 0 125 37.3 154.8 92.2 13.7 25 21.5 53.7 21.5 84.3 0 97.1-78.7 175.8-175.8 175.8zM207.2 812.8c-5.5 1.9-11.2 2.3-16.6 1.2 5.7 1.2 11.7 1 17.5-1l81.4-29c-.1-.1-.3-.2-.4-.3l-81.9 29.1zm717.6-414.7l-65.5 56c0 .2.1.5.1.7l65.4-55.9c7.1-6.1 11.1-14.9 11.2-24-.3 8.8-4.3 17.3-11.2 23.2z'\n ], [\n secondaryColor,\n 'M935.8 646.6c.5 4.7 0 9.5-1.7 14.1l-.9 2.6a446.02 446.02 0 0 1-79.7 137.9l-1.8 2.1a32 32 0 0 1-35.1 9.5l-81.3-28.9a350 350 0 0 1-99.7 57.6l-15.7 85a32.05 32.05 0 0 1-25.8 25.7l-2.7.5a445.2 445.2 0 0 1-79.2 7.1h.3c26.7 0 53.4-2.4 79.4-7.1l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c1.6-4.7 2.1-9.7 1.5-14.5z'\n ], [\n primaryColor,\n 'M688 502c0-30.3-7.7-58.9-21.2-83.8C637 363.3 578.9 326 512 326c-97.2 0-176 78.8-176 176 0 66.9 37.3 125 92.2 154.8 24.9 13.5 53.4 21.2 83.8 21.2 97.2 0 176-78.8 176-176zm-288 0c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502z'\n ], [\n primaryColor,\n 'M594.1 952.2a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c1.7-4.6 2.2-9.4 1.7-14.1-.9-7.9-4.7-15.4-11-20.9l-65.3-55.9-.2-.1c3.1-19 4.7-38.4 4.7-57.8 0-16.9-1.2-33.9-3.6-50.5-.3-2.2-.7-4.4-1-6.6 0-.2-.1-.5-.1-.7l65.5-56c6.9-5.9 10.9-14.4 11.2-23.2.1-4-.5-8.1-1.9-12l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.4-44-99.6-57.6h-.1l-15.7-85c-.1-.5-.2-1.1-.4-1.6a32.08 32.08 0 0 0-25.4-24.1l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6a32.09 32.09 0 0 0 7.9 33.9c.5.4.9.9 1.4 1.3l66.3 56.6v.1c-3.1 18.8-4.6 37.9-4.6 57 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c4.9 5.7 11.4 9.4 18.5 10.7 5.4 1 11.1.7 16.6-1.2l81.9-29.1c.1.1.3.2.4.3 29.7 24.3 62.8 43.6 98.6 57.1l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5c26.1 4.7 52.8 7.1 79.5 7.1h.3c26.6 0 53.3-2.4 79.2-7.1l2.7-.5zm-39.8-66.5a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97z'\n ]);\n});\nexports.ShopTwoTone = getIcon('shop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M839.5 344h-655c-.3 0-.5.2-.5.5v91.2c0 59.8 49 108.3 109.3 108.3 40.7 0 76.2-22 95.1-54.7 2.9-5.1 8.4-8.3 14.3-8.3s11.3 3.2 14.3 8.3c18.8 32.7 54.3 54.7 95 54.7 40.8 0 76.4-22.1 95.1-54.9 2.9-5 8.2-8.1 13.9-8.1h.6c5.8 0 11 3.1 13.9 8.1 18.8 32.8 54.4 54.9 95.2 54.9C791 544 840 495.5 840 435.7v-91.2c0-.3-.2-.5-.5-.5z'\n ], [\n primaryColor,\n 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234.4 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c3-1.3 6-2.6 9-4v242.2zM840 435.7c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'\n ]);\n});\nexports.ShoppingTwoTone = getIcon('shopping', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M696 472c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88H400v88c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88h-96v456h560V384h-96v88z'\n ], [\n primaryColor,\n 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'\n ]);\n});\nexports.SkinTwoTone = getIcon('skin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 318c-79.2 0-148.5-48.8-176.7-120H182v196h119v432h422V394h119V198H688.7c-28.2 71.2-97.5 120-176.7 120z'\n ], [\n primaryColor,\n 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'\n ]);\n});\nexports.SlidersTwoTone = getIcon('sliders', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M180 292h80v440h-80zm369 180h-74a3 3 0 0 0-3 3v74a3 3 0 0 0 3 3h74a3 3 0 0 0 3-3v-74a3 3 0 0 0-3-3zm215-108h80v296h-80z'\n ], [\n primaryColor,\n 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74zM320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440z'\n ]);\n});\nexports.SmileTwoTone = getIcon('smile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4zm-24-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.SnippetsTwoTone = getIcon('snippets', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M450 510V336H232v552h432V550H490c-22.1 0-40-17.9-40-40z'\n ], [\n primaryColor,\n 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'\n ]);\n});\nexports.SoundTwoTone = getIcon('sound', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M275.4 424H146v176h129.4l18 11.7L586 803V221L293.3 412.3z'\n ], [\n primaryColor,\n 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM934 476H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582z'\n ]);\n});\nexports.StarTwoTone = getIcon('star', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.5 190.4l-94.4 191.3-211.2 30.7 152.8 149-36.1 210.3 188.9-99.3 188.9 99.2-36.1-210.3 152.8-148.9-211.2-30.7z'\n ], [\n primaryColor,\n 'M908.6 352.8l-253.9-36.9L541.2 85.8c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L370.3 315.9l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1L239 839.4a31.95 31.95 0 0 0 46.4 33.7l227.1-119.4 227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM665.3 561.3l36.1 210.3-188.9-99.2-188.9 99.3 36.1-210.3-152.8-149 211.2-30.7 94.4-191.3 94.4 191.3 211.2 30.7-152.8 148.9z'\n ]);\n});\nexports.StopTwoTone = getIcon('stop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm288.5 682.8L277.7 224C258 240 240 258 224 277.7l522.8 522.8C682.8 852.7 601 884 512 884c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372c0 89-31.3 170.8-83.5 234.8z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372c89 0 170.8-31.3 234.8-83.5L224 277.7c16-19.7 34-37.7 53.7-53.7l522.8 522.8C852.7 682.8 884 601 884 512c0-205.4-166.6-372-372-372z'\n ]);\n});\nexports.SwitcherTwoTone = getIcon('switcher', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 840h528V312H184v528zm116-290h296v64H300v-64z'], [\n primaryColor,\n 'M880 112H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528z'\n ], [primaryColor, 'M300 550h296v64H300z']);\n});\nexports.TabletTwoTone = getIcon('tablet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752z'\n ], [\n secondaryColor,\n 'M232 888h560V136H232v752zm280-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.TagTwoTone = getIcon('tag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M589 164.6L189.3 564.3l270.4 270.4L859.4 435 836 188l-247-23.4zM680 432c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z'\n ], [\n primaryColor,\n 'M680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'\n ], [\n primaryColor,\n 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8a9.9 9.9 0 0 0 7.1 2.9c2.7 0 5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7z'\n ]);\n});\nexports.TagsTwoTone = getIcon('tags', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 694l311.9-311.8-19-224.6-224.6-19-311.9 311.9L477.5 694zm116-415.5a47.81 47.81 0 0 1 33.9-33.9c16.6-4.4 34.2.3 46.4 12.4a47.93 47.93 0 0 1 12.4 46.4 47.81 47.81 0 0 1-33.9 33.9c-16.6 4.4-34.2-.3-46.4-12.4a48.3 48.3 0 0 1-12.4-46.4z'\n ], [\n secondaryColor,\n 'M476.6 792.6c-1.7-.2-3.4-1-4.7-2.3L137.7 456.1a8.03 8.03 0 0 1 0-11.3L515.9 66.6c1.2-1.3 2.9-2.1 4.7-2.3h-.4c-2.3-.2-4.7.6-6.3 2.3L135.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.8 1.9 4.3 2.6 6.7 2.3z'\n ], [\n primaryColor,\n 'M889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3zM652.3 337.3a47.81 47.81 0 0 0 33.9-33.9c4.4-16.6-.3-34.2-12.4-46.4a47.93 47.93 0 0 0-46.4-12.4 47.81 47.81 0 0 0-33.9 33.9c-4.4 16.6.3 34.2 12.4 46.4a48.3 48.3 0 0 0 46.4 12.4z'\n ], [\n primaryColor,\n 'M137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.3 1.3 2.9 2.1 4.7 2.3 2.4.3 4.8-.5 6.6-2.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3h-1.6c-1.8.2-3.4 1-4.7 2.3L137.7 444.8zm408.1-306.2l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9z'\n ]);\n});\nexports.ThunderboltTwoTone = getIcon('thunderbolt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M695.4 164.1H470.8L281.2 491.5h157.4l-60.3 241 319.8-305.1h-211z'\n ], [\n primaryColor,\n 'M848.1 359.3H627.8L825.9 109c4.1-5.3.4-13-6.3-13H436.1c-2.8 0-5.5 1.5-6.9 4L170.1 547.5c-3.1 5.3.7 12 6.9 12h174.4L262 917.1c-1.9 7.8 7.5 13.3 13.3 7.7L853.6 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.3 732.5l60.3-241H281.2l189.6-327.4h224.6L487.1 427.4h211L378.3 732.5z'\n ]);\n});\nexports.ToolTwoTone = getIcon('tool', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M706.8 488.7a32.05 32.05 0 0 1-45.3 0L537 364.2a32.05 32.05 0 0 1 0-45.3l132.9-132.8a184.2 184.2 0 0 0-144 53.5c-58.1 58.1-69.3 145.3-33.6 214.6L439.5 507c-.1 0-.1-.1-.1-.1L209.3 737l79.2 79.2 274-274.1.1.1 8.8-8.8c69.3 35.7 156.5 24.5 214.6-33.6 39.2-39.1 57.3-92.1 53.6-143.9L706.8 488.7z'\n ], [\n primaryColor,\n 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'\n ]);\n});\nexports.TrademarkCircleTwoTone = getIcon('trademark-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm170.7 584.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H384c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7z'\n ], [\n secondaryColor,\n 'M529.9 357h-83.4v148H528c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'\n ], [\n primaryColor,\n 'M605.4 549.3c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.4-131.1-144.2-131.1H384c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.7c4.4 0 8-3.6 8-8V561.2h88.7L610 720.4c1.3 2.8 4.1 4.6 7.2 4.6h62c1.2 0 2.4-.3 3.5-.8 3.9-2 5.6-6.8 3.5-10.7l-80.8-164.2zM528 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.6 0 46.8-29.8 72.4-82.8 72.4z'\n ]);\n});\nexports.TrophyTwoTone = getIcon('trophy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M320 480c0 49.1 19.1 95.3 53.9 130.1 34.7 34.8 81 53.9 130.1 53.9h16c49.1 0 95.3-19.1 130.1-53.9 34.8-34.7 53.9-81 53.9-130.1V184H320v296zM184 352c0 41 26.9 75.8 64 87.6-37.1-11.9-64-46.7-64-87.6zm364 382.5C665 721.8 758.4 630.2 773.8 514 758.3 630.2 665 721.7 548 734.5zM250.2 514C265.6 630.2 359 721.8 476 734.5 359 721.7 265.7 630.2 250.2 514z'\n ], [\n primaryColor,\n 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6a91.99 91.99 0 0 1-64-87.6V232h64v207.6zM704 480c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'\n ]);\n});\nexports.UnlockTwoTone = getIcon('unlock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ], [\n primaryColor,\n 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304z'\n ]);\n});\nexports.UpCircleTwoTone = getIcon('up-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm178 479h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M518.4 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7h46.9c10.3 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246z'\n ]);\n});\nexports.UpSquareTwoTone = getIcon('up-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm143.5-228.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7z'\n ], [\n primaryColor,\n 'M334 624h46.9c10.3 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7z'\n ]);\n});\nexports.UsbTwoTone = getIcon('usb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M759.9 504H264.1c-26.5 0-48.1 19.7-48.1 44v292h592V548c0-24.3-21.6-44-48.1-44z'\n ], [\n primaryColor,\n 'M456 248h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zM336 184h352v248H336V184zm472 656H216V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v292z'\n ]);\n});\nexports.VideoCameraTwoTone = getIcon('video-camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h576V232H136v560zm64-488c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226z'\n ], [\n primaryColor,\n 'M208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.WalletTwoTone = getIcon('wallet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0-192H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200H184V184h656v200z'\n ], [\n secondaryColor,\n 'M528 576h312V448H528v128zm92-104c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n secondaryColor,\n 'M184 840h656V640H496c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32h344V184H184v656z'\n ]);\n});\nexports.WarningTwoTone = getIcon('warning', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'\n ], [\n secondaryColor,\n 'M172.2 828.1h679.6L512 239.9 172.2 828.1zM560 720a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm-16-304v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ]);\n});\nexports.CiTwoTone = getIcon('ci', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'\n ], [\n primaryColor,\n 'M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'\n ]);\n});\nexports.CopyrightTwoTone = getIcon('copyright', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z'\n ], [\n primaryColor,\n 'M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'\n ]);\n});\nexports.DollarTwoTone = getIcon('dollar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 0 1-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z'\n ], [\n primaryColor,\n 'M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'\n ]);\n});\nexports.EuroTwoTone = getIcon('euro', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 0 1-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z'\n ], [\n primaryColor,\n 'M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z'\n ]);\n});\nexports.GoldTwoTone = getIcon('gold', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M435.7 558.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128z'\n ], [\n secondaryColor,\n 'M592.7 276H433.2l-20.8 128h201zM217.2 620l-20.7 128h200.9l-20.7-128zm430 0l-20.7 128h200.9l-20.7-128z'\n ]);\n});\nexports.CanlendarTwoTone = getIcon('canlendar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z'\n ]);\n});\n","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = generate;\n\nvar _tinycolor = require('tinycolor2');\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n\nfunction getHue(hsv, i, light) {\n var hue = void 0;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation = void 0;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n } else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\n\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\n\nfunction generate(color) {\n var patterns = [];\n var pColor = (0, _tinycolor2.default)(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = (0, _tinycolor2.default)({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n var _colorString = (0, _tinycolor2.default)({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n patterns.push(_colorString);\n }\n return patterns;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.presetPrimaryColors = exports.presetPalettes = exports.generate = undefined;\n\nvar _generate = require('./generate');\n\nvar _generate2 = _interopRequireDefault(_generate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\n\nvar presetPalettes = {};\n\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = (0, _generate2.default)(presetPrimaryColors[key]);\n});\n\nexports.generate = _generate2.default;\nexports.presetPalettes = presetPalettes;\nexports.presetPrimaryColors = presetPrimaryColors;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.arrayTreeFilter = factory());\n}(this, (function () { 'use strict';\n\nfunction arrayTreeFilter(data, filterFn, options) {\n options = options || {};\n options.childrenKeyName = options.childrenKeyName || \"children\";\n var children = data || [];\n var result = [];\n var level = 0;\n do {\n var foundItem = children.filter(function (item) {\n return filterFn(item, level);\n })[0];\n if (!foundItem) {\n break;\n }\n result.push(foundItem);\n children = foundItem[options.childrenKeyName] || [];\n level += 1;\n } while (children.length > 0);\n return result;\n}\n\nreturn arrayTreeFilter;\n\n})));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _promise = require('babel-runtime/core-js/promise');\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _keys = require('babel-runtime/core-js/object/keys');\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _util = require('./util');\n\nvar _validator = require('./validator/');\n\nvar _validator2 = _interopRequireDefault(_validator);\n\nvar _messages2 = require('./messages');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = _messages2.messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);\n }\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if ((typeof rules === 'undefined' ? 'undefined' : (0, _typeof3['default'])(rules)) !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n var z = void 0;\n var item = void 0;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_) {\n var _this = this;\n\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var oc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n\n var source = source_;\n var options = o;\n var callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || (0, _keys2['default'])(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return _promise2['default'].resolve();\n }\n function complete(results) {\n var i = void 0;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = (0, _util.convertFieldsError)(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages = this.messages();\n if (messages === _messages2.messages) {\n messages = (0, _messages2.newMessages)();\n }\n (0, _util.deepMerge)(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n var arr = void 0;\n var value = void 0;\n var series = {};\n var keys = options.keys || (0, _keys2['default'])(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = (0, _extends3['default'])({}, source);\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = (0, _extends3['default'])({}, rule);\n }\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return (0, _util.asyncMap)(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && ((0, _typeof3['default'])(rule.fields) === 'object' || (0, _typeof3['default'])(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n function addFullfield(key, schema) {\n return (0, _extends3['default'])({}, schema, {\n fullField: rule.fullField + '.' + key\n });\n }\n\n function cb() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map((0, _util.complementError)(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map((0, _util.complementError)(rule));\n } else if (options.error) {\n errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = (0, _extends3['default'])({}, fieldsSchema, data.rule.fields);\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, function (errs) {\n doIt(errs && errs.length ? errors.concat(errs) : errs);\n });\n }\n }\n\n var res = void 0;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + ' fails');\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {\n throw new Error((0, _util.format)('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n var keys = (0, _keys2['default'])(rule);\n var messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return _validator2['default'].required;\n }\n return _validator2['default'][this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n _validator2['default'][type] = validator;\n};\n\nSchema.warning = _util.warning;\n\nSchema.messages = _messages2.messages;\n\nexports['default'] = Schema;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.messages = undefined;\n\nvar _stringify = require('babel-runtime/core-js/json/stringify');\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nexports.newMessages = newMessages;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction newMessages() {\n return {\n 'default': 'Validation error on field %s',\n required: '%s is required',\n 'enum': '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse((0, _stringify2['default'])(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\n\nvar messages = exports.messages = newMessages();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\nexports['default'] = enumerable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _whitespace = require('./whitespace');\n\nvar _whitespace2 = _interopRequireDefault(_whitespace);\n\nvar _type = require('./type');\n\nvar _type2 = _interopRequireDefault(_type);\n\nvar _range = require('./range');\n\nvar _range2 = _interopRequireDefault(_range);\n\nvar _enum = require('./enum');\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = require('./pattern');\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n required: _required2['default'],\n whitespace: _whitespace2['default'],\n type: _type2['default'],\n range: _range2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default']\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nexports['default'] = pattern;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nexports['default'] = range;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexports['default'] = required;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$', 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\n\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float: function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object: function object(value) {\n return (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n (0, _required2['default'])(rule, value, source, errors, options);\n return;\n }\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) !== rule.type) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\nexports['default'] = type;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar util = _interopRequireWildcard(_util);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexports['default'] = whitespace;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = undefined;\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _promise = require('babel-runtime/core-js/promise');\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _keys = require('babel-runtime/core-js/object/keys');\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _stringify = require('babel-runtime/core-js/json/stringify');\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nexports.convertFieldsError = convertFieldsError;\nexports.format = format;\nexports.isEmptyValue = isEmptyValue;\nexports.isEmptyObject = isEmptyObject;\nexports.asyncMap = asyncMap;\nexports.complementError = complementError;\nexports.deepMerge = deepMerge;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/* eslint no-console:0 */\n\nvar formatRegExp = /%[sdj%]/g;\n\nvar warning = exports.warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n exports.warning = warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nfunction format() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return (0, _stringify2['default'])(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (var arg = args[i]; i < len; arg = args[++i]) {\n str += ' ' + arg;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nfunction isEmptyObject(obj) {\n return (0, _keys2['default'])(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n var original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n (0, _keys2['default'])(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var flattenArr = flattenObjArr(objArr);\n return asyncSerialArray(flattenArr, func, callback);\n }\n var firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = (0, _keys2['default'])(objArr);\n }\n var objArrKeys = (0, _keys2['default'])(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new _promise2['default'](function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject({ errors: results, fields: convertFieldsError(results) }) : resolve();\n }\n };\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending['catch'](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: oe,\n field: oe.field || rule.fullField\n };\n };\n}\n\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n if ((typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && (0, _typeof3['default'])(target[s]) === 'object') {\n target[s] = (0, _extends3['default'])({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'array');\n if (!(0, _util.isEmptyValue)(value, 'array')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = array;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _util = require('../util');\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = boolean;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n // console.log('validate on %s value', value);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n var dateObject = void 0;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n _rule2['default'].type(rule, dateObject, source, errors, options);\n if (dateObject) {\n _rule2['default'].range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = date;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value) {\n _rule2['default'][ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = enumerable;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = floatFn;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _string = require('./string');\n\nvar _string2 = _interopRequireDefault(_string);\n\nvar _method = require('./method');\n\nvar _method2 = _interopRequireDefault(_method);\n\nvar _number = require('./number');\n\nvar _number2 = _interopRequireDefault(_number);\n\nvar _boolean = require('./boolean');\n\nvar _boolean2 = _interopRequireDefault(_boolean);\n\nvar _regexp = require('./regexp');\n\nvar _regexp2 = _interopRequireDefault(_regexp);\n\nvar _integer = require('./integer');\n\nvar _integer2 = _interopRequireDefault(_integer);\n\nvar _float = require('./float');\n\nvar _float2 = _interopRequireDefault(_float);\n\nvar _array = require('./array');\n\nvar _array2 = _interopRequireDefault(_array);\n\nvar _object = require('./object');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _enum = require('./enum');\n\nvar _enum2 = _interopRequireDefault(_enum);\n\nvar _pattern = require('./pattern');\n\nvar _pattern2 = _interopRequireDefault(_pattern);\n\nvar _date = require('./date');\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _required = require('./required');\n\nvar _required2 = _interopRequireDefault(_required);\n\nvar _type = require('./type');\n\nvar _type2 = _interopRequireDefault(_type);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n string: _string2['default'],\n method: _method2['default'],\n number: _number2['default'],\n boolean: _boolean2['default'],\n regexp: _regexp2['default'],\n integer: _integer2['default'],\n float: _float2['default'],\n array: _array2['default'],\n object: _object2['default'],\n 'enum': _enum2['default'],\n pattern: _pattern2['default'],\n date: _date2['default'],\n url: _type2['default'],\n hex: _type2['default'],\n email: _type2['default'],\n required: _required2['default']\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = integer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = method;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = number;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (value !== undefined) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = object;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = pattern;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options);\n if (!(0, _util.isEmptyValue)(value)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = regexp;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value);\n _rule2['default'].required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexports['default'] = required;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, 'string');\n if (!(0, _util.isEmptyValue)(value, 'string')) {\n _rule2['default'].type(rule, value, source, errors, options);\n _rule2['default'].range(rule, value, source, errors, options);\n _rule2['default'].pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n _rule2['default'].whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexports['default'] = string;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _rule = require('../rule/');\n\nvar _rule2 = _interopRequireDefault(_rule);\n\nvar _util = require('../util');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {\n return callback();\n }\n _rule2['default'].required(rule, value, source, errors, options, ruleType);\n if (!(0, _util.isEmptyValue)(value, ruleType)) {\n _rule2['default'].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexports['default'] = type;","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || 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};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _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\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","module.exports = require('./_hide');\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;","/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nimport utils from '../utils';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport adjustForViewport from '../adjustForViewport';\nimport getRegion from '../getRegion';\nimport getElFuturePos from '../getElFuturePos';\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n = void 0;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n // 当前节点可以被放置的显示区域\n var visibleRect = getVisibleRectForElement(source);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/ig, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/ig, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n points = align.points;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n\nexport default doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = getVisibleRectForElement(target);\n var targetRegion = getRegion(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexport default alignPoint;","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexport default getAlignOffset;","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexport default getElFuturePos;","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = void 0;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;\n }\n\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexport default getOffsetParent;","import utils from './utils';\n\nfunction getRegion(node) {\n var offset = void 0;\n var w = void 0;\n var h = void 0;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexport default getRegion;","import utils from './utils';\nimport getOffsetParent from './getOffsetParent';\nimport isAncestorFixed from './isAncestorFixed';\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nexport default getVisibleRectForElement;","import alignElement from './align/alignElement';\nimport alignPoint from './align/alignPoint';\n\nexport { alignElement, alignPoint };\n\nexport default alignElement;","import utils from './utils';\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}","var vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { setTransitionProperty, getTransitionProperty, getTransformXY, setTransformXY, getTransformName } from './propertyUtils';\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nvar getComputedStyleX = void 0;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box = void 0;\n var x = void 0;\n var y = void 0;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = presetH + 'px';\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = presetV + 'px';\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = void 0;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = void 0;\n var j = void 0;\n var i = void 0;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = '' + prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val = void 0;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i = void 0;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n for (var i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n\nexport default utils;","/**\n * Module dependencies\n */\n\nvar matches = require('dom-matches');\n\n/**\n * @param element {Element}\n * @param selector {String}\n * @param context {Element}\n * @return {Element}\n */\nmodule.exports = function (element, selector, context) {\n context = context || document;\n // guard against orphans\n element = { parentNode: element };\n\n while ((element = element.parentNode) && element !== context) {\n if (matches(element, selector)) {\n return element;\n }\n }\n};\n","'use strict';\n\n/**\n * Determine if a DOM element matches a CSS selector\n *\n * @param {Element} elem\n * @param {String} selector\n * @return {Boolean}\n * @api public\n */\n\nfunction matches(elem, selector) {\n // Vendor-specific implementations of `Element.prototype.matches()`.\n var proto = window.Element.prototype;\n var nativeMatches = proto.matches ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n\n if (!elem || elem.nodeType !== 1) {\n return false;\n }\n\n var parentElem = elem.parentNode;\n\n // use native 'matches'\n if (nativeMatches) {\n return nativeMatches.call(elem, selector);\n }\n\n // native support for `matches` is missing and a fallback is required\n var nodes = parentElem.querySelectorAll(selector);\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n if (nodes[i] === elem) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Expose `matches`\n */\n\nmodule.exports = matches;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","module.exports = intersperse;\n\nfunction intersperse(arr, obj) {\n\tif (!arr.length) return [];\n\tif (arr.length === 1) return arr.slice(0);\n\n\tvar items = [arr[0]];\n\tfor (var i = 1, len = arr.length; i < len; ++i) {\n\t\titems.push(obj, arr[i]);\n\t}\n\n\treturn items;\n}","'use strict';\n\nmodule.exports = function isNegativeZero(number) {\n\treturn number === 0 && (1 / number) === -Infinity;\n};\n\n","!function(e){var n=/iPhone/i,t=/iPod/i,r=/iPad/i,a=/\\bAndroid(?:.+)Mobile\\b/i,p=/Android/i,l=/\\bAndroid(?:.+)SD4930UR\\b/i,b=/\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i,f=/Windows Phone/i,u=/\\bWindows(?:.+)ARM\\b/i,c=/BlackBerry/i,s=/BB10/i,v=/Opera Mini/i,h=/\\b(CriOS|Chrome)(?:.+)Mobile/i,w=/\\Mobile(?:.+)Firefox\\b/i;function m(e,i){return e.test(i)}function i(e){var i=e||(\"undefined\"!=typeof navigator?navigator.userAgent:\"\"),o=i.split(\"[FBAN\");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split(\"Twitter\"))[1]&&(i=o[0]);var d={apple:{phone:m(n,i)&&!m(f,i),ipod:m(t,i),tablet:!m(n,i)&&m(r,i)&&!m(f,i),device:(m(n,i)||m(t,i)||m(r,i))&&!m(f,i)},amazon:{phone:m(l,i),tablet:!m(l,i)&&m(b,i),device:m(l,i)||m(b,i)},android:{phone:!m(f,i)&&m(l,i)||!m(f,i)&&m(a,i),tablet:!m(f,i)&&!m(l,i)&&!m(a,i)&&(m(b,i)||m(p,i)),device:!m(f,i)&&(m(l,i)||m(b,i)||m(a,i)||m(p,i))},windows:{phone:m(f,i),tablet:m(u,i),device:m(f,i)||m(u,i)},other:{blackberry:m(c,i),blackberry10:m(s,i),opera:m(v,i),firefox:m(w,i),chrome:m(h,i),device:m(c,i)||m(s,i)||m(v,i)||m(w,i)||m(h,i)}};return d.any=d.apple.device||d.android.device||d.windows.device||d.other.device,d.phone=d.apple.phone||d.android.phone||d.windows.phone,d.tablet=d.apple.tablet||d.android.tablet||d.windows.tablet,d}\"undefined\"!=typeof module&&module.exports&&\"undefined\"==typeof window?module.exports=i:\"undefined\"!=typeof module&&module.exports&&\"undefined\"!=typeof window?module.exports=i():\"function\"==typeof define&&define.amd?define([],e.isMobile=i()):e.isMobile=i()}(this);","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n\n return result;\n }\n\n if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n\n return result;\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u<x||r<v;)m=g[u],t=(e=q[r])&&e.node,m===t?(d.b&&e.b&&A(a,m,e.b,d.f),d.a&&e.a!==w&&m.nodeValue!==e.a&&a.push(p({type:\"characterData\",target:m,oldValue:e.a})),l&&f(l,b,g,q,z),d.g&&(m.childNodes.length||e.c&&e.c.length)&&n(m,e),u++,r++):(k=!0,h||(h={},l=[]),m&&(h[e=E(m)]||(h[e]=!0,-1===(e=F(q,m,r,\"node\"))?d.c&&(a.push(p({type:\"childList\",target:b,addedNodes:[m],nextSibling:m.nextSibling,previousSibling:m.previousSibling})),z++):l.push({j:u,l:e})),\nu++),t&&t!==g[u]&&(h[e=E(t)]||(h[e]=!0,-1===(e=F(g,t,u))?d.c&&(a.push(p({type:\"childList\",target:c.node,removedNodes:[t],nextSibling:q[r+1],previousSibling:q[r-1]})),z--):l.push({j:e,l:r})),r++));l&&f(l,b,g,q,z)}var k;n(b,c);return k}function C(a,b){var c=!0;return function f(a){var k={node:a};!b.a||3!==a.nodeType&&8!==a.nodeType?(b.b&&c&&1===a.nodeType&&(k.b=G(a.attributes,function(c,f){if(!b.f||b.f[f.name])c[f.name]=D(a,f);return c})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=N(a.childNodes,f)),c=b.g):k.a=\na.nodeValue;return k}(a)}function E(a){try{return a.id||(a.mo_id=a.mo_id||H++)}catch(b){try{return a.nodeValue}catch(c){return H++}}}function N(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function G(a,b){for(var c={},d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function F(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}v._period=30;v.prototype={observe:function(a,b){for(var c={b:!!(b.attributes||b.attributeFilter||b.attributeOldValue),c:!!b.childList,g:!!b.subtree,\na:!(!b.characterData&&!b.characterDataOldValue)},d=this.i,f=0;f<d.length;f++)d[f].s===a&&d.splice(f,1);b.attributeFilter&&(c.f=G(b.attributeFilter,function(a,b){a[b]=!0;return a}));d.push({s:a,o:J(a,c)});this.h||I(this)},takeRecords:function(){for(var a=[],b=this.i,c=0;c<b.length;c++)b[c].o(a);return a},disconnect:function(){this.i=[];clearTimeout(this.h);this.h=null}};var B=document.createElement(\"i\");B.style.top=0;var D=(B=\"null\"!=B.attributes.style.value)?L:M,H=1;return v}(void 0);\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","import _extends from \"babel-runtime/helpers/extends\";\nfunction omit(obj, fields) {\n var shallowCopy = _extends({}, obj);\n for (var i = 0; i < fields.length; i++) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport default omit;","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\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 <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","module.exports = function shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var directiveName = options.name || 'ref';\n Vue.directive(directiveName, {\n bind: function bind(el, binding, vnode) {\n binding.value(vnode.componentInstance || el, vnode.key);\n },\n update: function update(el, binding, vnode, oldVnode) {\n if (oldVnode.data && oldVnode.data.directives) {\n var oldBinding = oldVnode.data.directives.find(function (directive) {\n var name = directive.name;\n return name === directiveName;\n });\n if (oldBinding && oldBinding.value !== binding.value) {\n oldBinding && oldBinding.value(null, oldVnode.key);\n binding.value(vnode.componentInstance || el, vnode.key);\n return;\n }\n }\n // Should not have this situation\n if (vnode.componentInstance !== oldVnode.componentInstance || vnode.elm !== oldVnode.elm) {\n binding.value(vnode.componentInstance || el, vnode.key);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n binding.value(null, vnode.key);\n }\n });\n }\n};","/**\n * Copyright 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'use strict';\n\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\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\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","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_moment__;","module.exports = __WEBPACK_EXTERNAL_MODULE_vue__;"],"sourceRoot":""}